算法就是一系列的计算步骤,用来将输入数据转换为输出结果。
数据结构师存储和组织数据的一种方式,以便于对数据进行访问和修改。
插入排序算法,对n个数据项的时间大约是c1n^2,其中c1是一个不依赖于n的常量。亦即该算法所需的时间大致与n^2成正比。
合并排序算法,排序n个数据项的时间大约是c2log(2)(n)
通常有c1<c2,输入规模对运行时间的影响比常量因子要大。较小规模时,插入排序比合并排序要快,但n变的足够大后,合并排序就比插入快,并且随着n的增多,合并排序的相对优势越来越明显。
插入排序
INSERTION-SORT(A)
for j <-- 2 to length(A)
do key <-- a[j]
i <-- i-1
while i > 0 and a[i] > key
do A[i+1] <-- a[i]
i <-- i-1
a[i+1] <-- key