我在电脑随机生成了100000个数,但是算时间的时候,发现选择排序只用了3秒,插入排序用了8秒,冒泡排序用了19秒。因为刚自学,看到视频里说是插入排序快于选择排序。怎么实践出来不是哒?
1条回答 默认 最新
- threenewbee 2015-09-06 08:01关注
插入排序和选择排序都是O(n*n),算法复杂度一样,你看的什么视频? 至于具体的程序,算法复杂度一样的情况下,具体代码的差异、数据量,样本本身(完全无序、倒序、有序)等决定了谁快谁慢,但是在数量级上是一样的。 冒泡复杂度为O(n*n)。当数据为正序,将不会有交换。复杂度为O(0)。 直接插入排序:O(n*n) 选择排序:O(n*n) 快速排序:平均时间复杂度log2(n)*n,所有内部排序方法中最高好的,大多数情况下总是最好的。 归并排序:log2(n)*n 堆排序:log2(n)*n 希尔排序:算法的复杂度为n的1.2次幂
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境