山东公务员考试网计算机常识-插入类排序法
1、 简单插入排序法
所谓插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。
一般来说,假设线性中前j-1元素已经有序,现在要将线性表中第j个元素插入到前面的有序子表中,插入过程如下:
道德将第j个元素放到一个变量T中,然后从有序子表的最后一个元素(即线性表中第j-1个元素)开始,往前逐个与T进行比较,将大于T的元素均依次向后移动一个位置,直到发现一个元素不大于T为止,此时就将T(即原线性表中的第j个元素)插入到刚移出的空位置上,有序子表的长度就变为j了。效率与冒泡法相同
在最坏情况下,简单插入排序需要n(n-1)/2次比较。
2、 希尔排序法
基本思想如下:
将整个无序序列分割成若干小的子序列分别进行插入排序。
子序列的分割方法如下:
将相隔某个增量H的元素构成一个子序列。在排序过程中,逐次减小这个增量,最后当H减到1时,进行一次插入排序,排序就完成。增量序列一般取h=n/2k(k=1,2,…[log2n],其中n为待排序序列的长度。
其效率与增量序列有关。在最坏情况下,需要的比较次数为O(N1.5)。
更多精彩资讯请关注查字典资讯网,我们将持续为您更新最新资讯!
上一篇:山东公务员考试行测知识大全-鸭子为什么会... 下一篇:山东省公务员考试网常识练习题一