鍍金池/ 問答/Java  C  C++/ 鏈表邊插入邊排序的效率高,還是插完所有再順序排序效率高?

鏈表邊插入邊排序的效率高,還是插完所有再順序排序效率高?

鏈表邊插入邊排序的效率高,還是插完所有再順序排序效率高?

回答
編輯回答
妖妖
  1. 邊插入邊排序:

    * 每次插入的復雜度是O(log n)
    * 總復雜度自然就是O(nlog n)
  2. 先插入后排序:

    * 不用說了...都知道O(nlogn)
    

所以從算法角度的話是一樣的。

不過邊插入邊排序的話一般肯定不會傻傻的單純用一個普通鏈表。如果考慮構建一個堆之類的數據結構,構建的復雜度是有可能到O(n)的

2017年11月23日 07:35
編輯回答
何蘇葉
  1. 邊插入邊排序時間復雜度為O(n^2),插完再排不是很好,因為在鏈表上排序無法實現(xiàn)隨機訪問,許多高效排序算法無法在鏈表上應用。
  2. 建議先排序再插入,可以選擇快速排序、歸并排序等效率較高的算法。
2017年8月13日 06:00