算法导论—读书笔记2010.12.6
2010-12-06 16:03
127 查看
算法就是一系列的计算步骤,用来将输入数据转换为输出结果。
数据结构师存储和组织数据的一种方式,以便于对数据进行访问和修改。
插入排序算法,对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
数据结构师存储和组织数据的一种方式,以便于对数据进行访问和修改。
插入排序算法,对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
相关文章推荐
- 《算法导论》读书笔记之第6章 堆排序
- 《算法导论》读书笔记之第15章 动态规划—最优二叉查找树
- 《算法导论》读书笔记之第15章 动态规划[总结]
- 《算法导论》读书笔记--第三章 函数的增长
- 《算法导论》读书笔记2:shell 排序
- 《算法导论》读书笔记之第9章 中位数和顺序统计学
- 《算法导论》读书笔记(二)——分治法
- 《算法导论》读书笔记--第1、2章课后题
- 《算法导论》读书笔记之第12章 二叉查找树
- 《算法导论》读书笔记 第一章(一)
- 《算法导论》读书笔记之第3章 函数的增长
- 《算法导论(原书第2版)》读书笔记
- 《算法导论》读书笔记之第11章 散列表
- 《算法导论》读书笔记--第二章 2.1 插入排序
- 《算法导论》读书笔记之第10章 基本数据结构
- 《算法导论》读书笔记之第15章 动态规划—矩阵链乘法
- 《算法导论》读书笔记--计数排序&基数排序
- 《算法导论》读书笔记(2)复杂度、分治策略 部分习题
- 《算法导论》读书笔记之第7章 快速排序
- 《算法导论》读书笔记之第6章 堆排序