归并排序
所谓归并简单来说就是保持有序的合并。假如我们要将数组 a 排序,可以考虑如下步骤:
将数组 a 分为数组 b 和数组 c
分别将数组 b 和数组 c 排序
将两个有序的子数组 b 和 c归并成一个有序的大数组
排序的时间性能如何?
1.增量序列的选择
Shell排序的执行时间依赖于增量序列。
好的增量序列的共同特征:
① 最后一个增量必须为1;
② 应该尽量避免序列中的值(尤其是相邻的值)互为倍数的情况。
有人通过大量的实验,给出了较好的结果:当n较大时,比较和移动的次数约在n^1.25到(1.6n)^1.25之间。
上一篇:联系描述实体之间的相互关系吗?联系集是同类联系的集合吗?
下一篇:最后一页