重庆目前烂尾楼盘:9.6.3 希尔排序复杂度分析
来源:百度文库 编辑:偶看新闻 时间:2024/07/03 11:50:52
9.6.3 希尔排序复杂度分析
通过这段代码的剖析,相信大家有些明白,希尔排序的关键并不是随便分组后各自排序,而是将相隔某个“增量”的记录组成一个子序列,实现跳跃式的移动,使得排序的效率提高。
这里“增量”的选取就非常关键了。我们在代码中第7行,是用increment= increment/3+1;的方式选取增量的,可究竟应该选取什么样的增量才是最好,目前还是一个数学难题,迄今为止还没有人找到一种最好的增量序列。不过大量的研究表明,当增量序列为dlta[k]=2t‐k+1‐1(0≤k≤t≤.log2(n+1).)时,可以获得不错的效率,其时间复杂度为O(n3/2),要好于直接排序的O(n2)。需要注意的是,增量序列的最后一个增量值必须等于1才行。另外由于记录是跳跃式的移动,希尔排序并不是一种稳定的排序算法。
不管怎么说,希尔排序算法的发明,使得我们终于突破了慢速排序的时代(超越了时间复杂度为O(n2)),之后,相应的更为高效的排序算法也就相继出现了。
什么是希尔排序法
分析时间复杂度
分析时间复杂度
分析时间复杂度
起泡排序的时间复杂度是多少?
用pascal语言实现希尔排序算法
求希尔排序法的C++代码
快速排序法与希尔排序法的具体步骤
希尔排序法属于哪一种类型的排序法
谁知道空间复杂度为o(1)的归并排序算法?
希尔排序的算法,哪位能不能提供一下?
希尔排序法,最坏情况需要多少次比较
排序。随机生成若干个数据,程序将数据排序后输出,分别使用快速排序,希尔排序,冒泡排序算法进行排序。
谁知道什么叫“谢尔排序”(也叫“希尔排序”)
请分析一下二分搜索技术的时间复杂度
分析下面语句段执行的时间复杂度
什么是希尔排序?望各位大侠写出原理及代码(代码最好是Basic或Pascal)
平均赔卛排序分析表
3忍强弱排序
排序。。。。。。。。
拿破仑希尔
希尔教育
算法时间复杂度
计算算法复杂度