首页 新闻 会员 周边

逆序数组,为什么插入排序比选择排序快呢?

0
悬赏园豆:10 [待解决问题]

理论上来讲:逆序数组,选择排序需要比较(N2/2)次,交换N次;插入排序需要比较(N2/2)次,交换(N^2/2)次。按道理来说选择排序的耗时率应该低于插入排序;可实际情况是插入排序的耗时小于选择排序;

小锅牛的主页 小锅牛 | 初学一级 | 园豆:189
提问于:2021-07-29 21:21
< >
分享
所有回答(1)
0

JMH(Java Microbenchmark Harness)是用于代码微基准测试的工具套件,主要是基于方法层面的基准测试,精度可以达到纳秒级。
https://www.zhihu.com/question/276455629/answer/1259967560

用这个工具 做次更好的 【基准测试】
在 汪文君 先生的书中发现了

快乐的凡人721 | 园豆:3975 (老鸟四级) | 2021-07-30 16:13

好的,谢谢

支持(0) 反对(0) 小锅牛 | 园豆:189 (初学一级) | 2021-07-30 23:58

我用JMH测了一下:
插入排序结果:

选择排序结果:

支持(0) 反对(0) 小锅牛 | 园豆:189 (初学一级) | 2021-07-31 00:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册