為什么快速排序不適合用鏈表 以單鏈表為存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)直接選擇排序的算法?
以單鏈表為存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)直接選擇排序的算法?單向鏈表相關(guān)操作實(shí)現(xiàn)功能:1。創(chuàng)建新的鏈表。2. 插入節(jié)點(diǎn)。3. 刪除節(jié)點(diǎn)。4. Insert方法對(duì)鏈表進(jìn)行排序(從小到大)。5. 按選擇方法排序鏈表(從小到
以單鏈表為存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)直接選擇排序的算法?
單向鏈表相關(guān)操作實(shí)現(xiàn)功能:1。創(chuàng)建新的鏈表。
2. 插入節(jié)點(diǎn)。
3. 刪除節(jié)點(diǎn)。
4. Insert方法對(duì)鏈表進(jìn)行排序(從小到大)。
5. 按選擇方法排序鏈表(從小到大)。
6. 顯示當(dāng)前鏈表。0退出程序。有關(guān)代碼,請(qǐng)參閱參考資料
O(nlogn)。雖然并不是所有的高級(jí)排序算法都適用于單鏈表,但它們部分適用,例如合并排序、希爾排序和快速排序的具體實(shí)現(xiàn)。
即使您不考慮所有這些算法,還有另一個(gè)簡(jiǎn)單而粗糙的方法:
將鏈表復(fù)制到數(shù)組中
對(duì)數(shù)組進(jìn)行排序
將數(shù)組還原到鏈表中
這三個(gè)步驟的復(fù)雜度是O(n nlogn)=O(nlogn)