如何對(duì)鏈表進(jìn)行排序 單鏈表排序的時(shí)間復(fù)雜度是什么?
單鏈表排序的時(shí)間復(fù)雜度是什么?雖然并非所有高級(jí)排序算法都適用于單鏈表,但它們部分適用,例如合并排序、希爾排序和快速排序的具體實(shí)現(xiàn)。即使您沒有考慮所有這些算法,還有一種簡(jiǎn)單而粗糙的方法:將鏈表復(fù)制到數(shù)組
單鏈表排序的時(shí)間復(fù)雜度是什么?
雖然并非所有高級(jí)排序算法都適用于單鏈表,但它們部分適用,例如合并排序、希爾排序和快速排序的具體實(shí)現(xiàn)。
即使您沒有考慮所有這些算法,還有一種簡(jiǎn)單而粗糙的方法:
將鏈表復(fù)制到數(shù)組中
對(duì)數(shù)組進(jìn)行排序
將數(shù)組還原到鏈表中
單鏈表排序時(shí)間復(fù)雜度最小的是哪種排序方法?
使用快速排序具有較低的時(shí)間和空間復(fù)雜度
時(shí)間復(fù)雜度O(nlog2n)空間復(fù)雜度O(1)排序的時(shí)間復(fù)雜度最低,但空間復(fù)雜度會(huì)增加o(logn)
我想解釋的另一點(diǎn)是,各種算法對(duì)低時(shí)間復(fù)雜度的追求必然導(dǎo)致空間復(fù)雜度的上升,而對(duì)低空間復(fù)雜度的追求必然會(huì)導(dǎo)致時(shí)間復(fù)雜度的上升
也就是說,沒有一個(gè)算法的時(shí)間復(fù)雜度和空間復(fù)雜度是最低的,因?yàn)樗且粋€(gè)單鏈表,我建議你更容易使用快速排序代碼。你不能在網(wǎng)上搜索。如果你需要我也可以提供