程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 排序-java中插入排序和選擇排序哪個速度快

java 排序-java中插入排序和選擇排序哪個速度快

編輯:編程綜合問答
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次冪
weixin_31078829
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved