【发布时间】:2014-05-01 00:03:41
【问题描述】:
据我所知,Comb sort 也应该像 shell 排序一样在亚二次时间内运行。这是因为梳排序是冒泡排序,壳排序与插入排序的关系。 Shell 排序根据间隙序列应用插入排序对数组进行排序,类似地梳排序根据间隙序列应用冒泡排序对数组进行排序。那么梳排序的运行时间是多少呢?
【问题讨论】:
-
根据 Wiki 文章中的参考资料,最坏的情况是二次的。这是否回答你的问题?因为如果不是,那么我认为你问错了问题
-
一开始我没有注意到维基页面右侧的表格。但是,是的,它现在回答了我的问题。谢谢。
-
梳排序很奇怪;注意平均情况,即“预期运行时间”。梳排序和快速/合并排序的经验基准很有趣;一个小家伙怎么能努力跟上?
-
我比较了combsort for 5000 elements v/s combsort for 500 elements。虽然最坏的情况是二次的,但它的随机情况、执行时间、对大型数据集排序的实用性以及......它的简单性可能会让您感到惊讶。
-
@NiklasB。 :我认为你应该重写你的评论作为答案。所以将这个问题标记为已回答。
标签: arrays algorithm sorting big-o time-complexity