问题描述
- java中插入排序和选择排序哪个速度快
-
我在电脑随机生成了100000个数,但是算时间的时候,发现选择排序只用了3秒,插入排序用了8秒,冒泡排序用了19秒。因为刚自学,看到视频里说是插入排序快于选择排序。怎么实践出来不是哒?
解决方案
插入排序和选择排序都是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次幂
解决方案二:
Java冒泡排序,插入排序,选择排序
Java中的简单排序:冒泡排序,选择排序,插入排序
java-算法-选择排序、插入排序
----------------------
时间: 2024-11-30 05:10:53