排序算法的归纳与比较,还有相关视频哦【for_wind】

来源:互联网 发布:js移动端手指滑动切换 编辑:程序博客网 时间:2024/04/30 02:00

好久没有看算法相关的东西,把以前的笔记整理一下,当作复习。加油~~//for_wind

排序算法的归纳与比较名称插入排序合并排序堆排序快速排序计数排序基数排序桶排序思路通过比较在已排序的数组A[1,...,j-1]中插入新数据A[j],形成新的已排序数组A[1,...,j](分解)分成2个子序列;
(解决)对子序列递归地进行排序
(合并)合并已经排序的子序列先建堆,交换根元素A[i]和A[n],更新保持堆性质,重复以上,直到堆大小从n-1减为2(分解)划分
(解决)递归调用
(合并)无,因为就地排序假设元素均介于0到k的整数。
利用数组下标假设n个d位数,每个位数k种可能的值。
按位排序(从低到高)假设输入元素独立均匀地分布在区域[0,1)上,划分该区域为桶,分别排序策略增量法
原地排序
稳定分治
非原地排序
稳定
原地排序
不稳定分治
原地排序
不稳定特殊假设
非原地排序
稳定特殊假设
非原地排序
稳定特殊假设
非原地排序
稳定运行时间o(n^2)o(nlgn)o(nlgn)o(n^2)
o(nlgn)o(k+n)o(d(k+n))
o(b(r)*r(k+2^r))o(n)要点 合并步骤最关键堆的操作随机化划分确定小于等于i的元素个数先按最低的有效位排序 应用情况基本已排序 优先级队列 参考思路中假设参考思路中假设参考思路中假设其他前4种是比较排序,比较排序可视为决策树(一颗满二叉树)。排序算法的执行对应于遍历一条从树的根到页节点的路径。一个比较算法最坏情况比较次数与其决策树的高度相等,为lgn。为此,任意一个比较算法最坏的情况下都需要o(nlogn)次比较。此外,堆排序和合并排序是渐进最优的比较排序算法。而后三种算法,下界o(nlogn)对其不适用。

相关视频《6分钟演示15种排序算法》:点击打开链接 。值得一看,另外一笑。嘻嘻。

原创粉丝点击