在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

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

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

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

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

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

所以從算法角度的話(huà)是一樣的。

不過(guò)邊插入邊排序的話(huà)一般肯定不會(huì)傻傻的單純用一個(gè)普通鏈表。如果考慮構(gòu)建一個(gè)堆之類(lèi)的數(shù)據(jù)結(jié)構(gòu),構(gòu)建的復(fù)雜度是有可能到O(n)的

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