排序算法
michael_kang2
这个作者很懒,什么都没留下…
展开
-
【排序】希尔排序
这里使用直接插入排序对子序列排序。d 的取法有多种,最初Shell提出取 d = [n/2],直到d=1。Knuth 提出d= [d/3] + 1;算法分析:对特定的待排序序列,可以准确地计算出比较次数和移动次数。但要弄清比较次数和移动次数与增量选择之间的依赖关系,并给出完整的数学分析,到目前还没有人能够做到。Knuth利用大量的实验统计资料得出,当n很大时,平均比较次数和平均移动次数大约的范围是:(使用直接排序)Shell排序是不稳定的排序...原创 2022-05-05 10:29:38 · 262 阅读 · 0 评论 -
经典冒泡排序
经典冒泡排序一次冒泡遍历一组数字,相邻的数字两两比较,将比较值大的放到右边,直到这一组数字全部遍历。如果没有发生冒泡,可以说明数组有序,冒泡排序算法结束。原创 2022-04-18 16:16:26 · 238 阅读 · 0 评论 -
【排序】插入排序
将未经过排序的部分插入到已排序的数组。插入排序的操作步骤如下:1、首先对数组的前两个元素排序。2、接着将第3个元素与排好序的两个元素比较,插入到合适位置。3、不断重复这个过程,直到把最后一个元素插入到合适位置。插入排序在数据已有一定顺序的情况下,效率较好。但是如果数据无规则,则需要移动大量数据,其效率就和冒泡排序和选择排序一样差。...原创 2022-04-18 17:24:48 · 191 阅读 · 0 评论