算法导论—读书笔记2010.12.6

算法就是一系列的计算步骤,用来将输入数据转换为输出结果。

 

数据结构师存储和组织数据的一种方式,以便于对数据进行访问和修改。

 

插入排序算法,对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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章