为什么选择排序比冒泡排序更快,以及插入排序如何最快

时间:2015-03-14 13:56:18

标签: algorithm sorting bubble-sort insertion-sort selection-sort

我编写了一个程序来对数字进行排序,从1到1000,使用三种不同的排序然后测量每个单独排序所花费的时间。结果如下:(我在python中编写了我的代码,时间以秒为单位,最坏情况是数组按降序排列,最佳情况是升序排列)

最坏情况

  • 选择排序:timetaken:0.0629999637604
  • 冒泡排序:timetaken:0.141000032425
  • 插入排序:timetaken:0.0460000038147

最佳案例

  • 选择排序:timetaken:0.0469999313354
  • 冒泡排序:timetaken:0.140000104904
  • 插入排序:timetaken:0.047000169754

  1. 我能否知道为什么插入排序的最佳情况需要比最坏情况更长的时间?不应该相反吗?
  2. 为什么冒泡排序最好的情况比选择排序更耗时?它应该是相反的,因为冒泡排序的最佳案例时间是O(n),对吧?

0 个答案:

没有答案