python實(shí)現(xiàn)單鏈表 數(shù)據(jù)結(jié)構(gòu)中,鏈表的時(shí)間復(fù)雜度是怎么計(jì)算的?
數(shù)據(jù)結(jié)構(gòu)中,鏈表的時(shí)間復(fù)雜度是怎么計(jì)算的?計(jì)算公式:t(n)=O(f(n))n為問(wèn)題規(guī)模;t(n)為時(shí)間復(fù)雜度;f(n)的增長(zhǎng)率與程序執(zhí)行時(shí)間的增長(zhǎng)率相同;O為程序執(zhí)行時(shí)間的“順序”。PS:通常,鏈表
數(shù)據(jù)結(jié)構(gòu)中,鏈表的時(shí)間復(fù)雜度是怎么計(jì)算的?
計(jì)算公式:t(n)=O(f(n))n為問(wèn)題規(guī)模;t(n)為時(shí)間復(fù)雜度;f(n)的增長(zhǎng)率與程序執(zhí)行時(shí)間的增長(zhǎng)率相同;O為程序執(zhí)行時(shí)間的“順序”。PS:通常,鏈表的時(shí)間復(fù)雜度是估計(jì)出來(lái)的。估計(jì)算法時(shí)間復(fù)雜度的方法如下:1。在大多數(shù)情況下,當(dāng)循環(huán)數(shù)未知(與輸入數(shù)據(jù)相關(guān))時(shí),計(jì)算最深循環(huán)中簡(jiǎn)單語(yǔ)句(原始操作)的重復(fù)執(zhí)行次數(shù),找出最壞情況下簡(jiǎn)單語(yǔ)句(原始操作)的重復(fù)執(zhí)行次數(shù)。這學(xué)期我剛學(xué)習(xí)完數(shù)據(jù)結(jié)構(gòu),老師教了我一些PPT。如果您愿意,可以告訴我
使用快速排序的時(shí)間和空間復(fù)雜度較低
時(shí)間復(fù)雜度O(nlog2n)空間復(fù)雜度O(1)
堆排序的時(shí)間復(fù)雜度最低,但是空間復(fù)雜度會(huì)增加o(logn)
我想解釋的另一點(diǎn)是,各種算法追求低時(shí)間復(fù)雜度必然會(huì)導(dǎo)致空間復(fù)雜度的上升,追求低空間復(fù)雜度也會(huì)導(dǎo)致時(shí)間復(fù)雜度的上升
也就是說(shuō),不知道哪種算法的時(shí)間復(fù)雜度和空間復(fù)雜度最低,就像魚(yú)和熊掌不能兩者兼得一樣
因?yàn)樗且粋€(gè)單鏈表,我建議你使用快速排序代碼來(lái)簡(jiǎn)化它。你不能在線搜索。如果你需要我也可以提供