【读书笔记】排序算法
来源:互联网 发布:谷歌访问助手mac版 编辑:程序博客网 时间:2024/06/16 17:24
以下算法均对于数组
插入排序
按从小到大排序
for i = 1 to A.length key = A[i] j = i - 1 while (j > 0 and A[j] > key) A[j+1] = A[j] j = j - 1 A[j+1] = key
堆排序
对于以1为开始的下标的数组,在二叉树的排列下,节点
PARENT(i) = i / 2LEFT(i) = 2 * iRIGHT(i) = 2 * i + 1
首先对于一个节点
MAX_HEAPIFY(A, i) largest = i l = LEFT(i) r = RIGHT(i) if l <= A.heap_size and A[l] > A[i] largest = l if r <= A.heap_size and A[r] > A[largest] largest = r if largest != i exchange A[i], A[largest] MAX_HEAPIFY(A, largest)
建堆
由于从
BUILD_MAX_HEAP(A) for i = A.length / 2 downto 1 MAX_HEAPIFY(A, i)
堆排序
HEAP_SORT(A) BUILD_MAX_HEAP(A) for i = A.heap_size downto 1 exchange A[A.heap_size], A[1] HEAPIFY(A, 1) A.heap_size = A.heap_size - 1
0 0
- 排序算法读书笔记
- 【读书笔记】排序算法
- 排序算法(读书笔记)待续。。。
- 算法导论读书笔记(插入排序)
- [算法导论读书笔记]拓扑排序
- 《算法导论》读书笔记--堆排序
- 《算法导论》读书笔记--快速排序
- 算法(读书笔记):2.排序
- 啊哈!算法读书笔记 | 第一章 排序
- 【排序算法】《Java数据结构与算法》读书笔记
- 《啊哈!算法》读书笔记--排序(快速排序,冒泡排序)
- 算法导论读书笔记 第六章 堆排序
- 算法导论读书笔记 第七章 快速排序
- [算法导论读书笔记]堆排序,优先队列
- 《算法导论》读书笔记2:shell 排序
- 《算法导论》读书笔记之插入排序
- 《算法导论》读书笔记之归并排序
- 《算法导论》读书笔记--计数排序&基数排序
- 如何高效地使用Launcher,如果你还没删的话
- HDOJ 1728 逃离迷宫(BFS)
- 【转载】cocos2d-x 2.1下使用CCLabelTTF显示汉字的问题
- 使用jquery跳转a标签
- nexus配置方法说明
- 【读书笔记】排序算法
- ZooKeeper监控
- Access restriction: The type BASE64Encoder is not accessible due to restrict
- IE6、7下overflow:hidden失效
- 经典排序算法之冒泡排序
- UVA 216 Getting in Line
- 数组概述+数组排序+数组查找-第5天
- 单例模式的两种实现方式
- CSS3过渡和动画