在單鏈表中設(shè)置頭結(jié)點(diǎn)的作用是 在一個(gè)具有n個(gè)節(jié)點(diǎn)的單鏈表中刪除第i個(gè)節(jié)點(diǎn)算法的時(shí)間復(fù)雜度是多少?
在一個(gè)具有n個(gè)節(jié)點(diǎn)的單鏈表中刪除第i個(gè)節(jié)點(diǎn)算法的時(shí)間復(fù)雜度是多少?建立一個(gè)有序單鏈表的時(shí)間復(fù)雜度是多少,謝謝?快速算法的時(shí)間和空間復(fù)雜度排序更低時(shí)間復(fù)雜度O(nlog2n)空間復(fù)雜度O(1)堆排序的時(shí)
在一個(gè)具有n個(gè)節(jié)點(diǎn)的單鏈表中刪除第i個(gè)節(jié)點(diǎn)算法的時(shí)間復(fù)雜度是多少?
建立一個(gè)有序單鏈表的時(shí)間復(fù)雜度是多少,謝謝?
快速算法的時(shí)間和空間復(fù)雜度排序更低
時(shí)間復(fù)雜度O(nlog2n)空間復(fù)雜度O(1)
堆排序的時(shí)間復(fù)雜度最低,但空間復(fù)雜度會(huì)增加O(logn)
我想解釋的另一點(diǎn)是,各種算法追求低時(shí)間復(fù)雜度必然導(dǎo)致空間復(fù)雜度的增加,而對(duì)低空間復(fù)雜度的追求必然會(huì)導(dǎo)致時(shí)間復(fù)雜度的增加
也就是說(shuō),沒(méi)有一個(gè)算法的時(shí)間復(fù)雜度和空間復(fù)雜度是最低的,就像魚(yú)與熊掌一樣
因?yàn)樗且粋€(gè)單鏈表,所以我建議你使用快速排序代碼來(lái)簡(jiǎn)化它。你不能在網(wǎng)上搜索。如果你需要的話我也可以提供
哈哈,如果你想找到它,當(dāng)然是o(n)
但是在實(shí)際使用中,我們通常知道一個(gè)節(jié)點(diǎn),比如節(jié)點(diǎn)P,需要在它后面插入一個(gè)節(jié)點(diǎn)Q,這就是常量順序的復(fù)雜性
Q->next=P->next
P->next=Q