日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

順序表和鏈表的區(qū)別

順序表和鏈表的區(qū)別

順序表和鏈表的區(qū)別


1、存儲(chǔ)分配方式不同:順序存儲(chǔ)結(jié)構(gòu)是用一段連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表的數(shù)據(jù)元素,單項(xiàng)鏈表是采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),用一組任意的存儲(chǔ)單元存放線性表的元素 。
2、空間利用率不同:順序表的空間利用率顯然要比鏈表高 。因鏈表在存儲(chǔ)數(shù)據(jù)時(shí),每次只申請(qǐng)一個(gè)節(jié)點(diǎn)的空間,且空間的位置是隨機(jī)的,這種申請(qǐng)存儲(chǔ)空間的方式會(huì)產(chǎn)生很多空間碎片,一定程序上造成了空間浪費(fèi) 。不僅如此,由于鏈表中每個(gè)數(shù)據(jù)元素都必須攜帶至少一個(gè)指針,因此鏈表對(duì)所申請(qǐng)空間的利用率也沒有順序表高 。
3、開辟空間的方式不同:順序表存儲(chǔ)數(shù)據(jù)實(shí)行的是 “一次開辟,永久使用”,即存儲(chǔ)數(shù)據(jù)之前先開辟好足夠的存儲(chǔ)空間,空間一旦開辟后期無法改變大?。ㄊ褂脛?dòng)態(tài)數(shù)組的情況除外) 。而鏈表則不同,鏈表存儲(chǔ)數(shù)據(jù)時(shí)一次只開辟存儲(chǔ)一個(gè)節(jié)點(diǎn)的物理空間,如果后期需要還可以再申請(qǐng) 。因此,若只從開辟空間方式的角度去考慮,當(dāng)存儲(chǔ)數(shù)據(jù)的個(gè)數(shù)無法提前確定,又或是物理空間使用緊張以致無法一次性申請(qǐng)到足夠大小的空間時(shí),使用鏈表更有助于問題的解決 。
VC中比較順序表(數(shù)組)與鏈表的異同點(diǎn),應(yīng)用場合?順序表的訪問是很靈活的 。從時(shí)間效率上來說是O(1)的 。而刪除與增加操作,卻很花費(fèi)時(shí)間,時(shí)間復(fù)雜度O(n) 。而鏈表的增加與刪除是很快捷的 。但其訪問卻很花費(fèi)時(shí)間 。如果在做大型項(xiàng)目時(shí) 。需要兩者兼具,那么就可以用hash表 。
【順序表和鏈表的區(qū)別】之于前兩者應(yīng)用場合,舉個(gè)簡單的例子,著名的“猴子報(bào)數(shù)問題”就能夠明顯的比較鏈表與數(shù)組的差別 。

    推薦閱讀