順序表和鏈表的優(yōu)缺點(diǎn) 在什么情況下用順序表比鏈表好?
在什么情況下用順序表比鏈表好?在序列表中查找元素和獲取表長(zhǎng)非常容易,但是插入或刪除元素需要移動(dòng)大量元素;相反,在鏈接表中插入或刪除元素非常方便,但是查找元素需要遍歷。因此,當(dāng)所涉及的問(wèn)題經(jīng)常被搜索時(shí),
在什么情況下用順序表比鏈表好?
在序列表中查找元素和獲取表長(zhǎng)非常容易,但是插入或刪除元素需要移動(dòng)大量元素;相反,在鏈接表中插入或刪除元素非常方便,但是查找元素需要遍歷。因此,當(dāng)所涉及的問(wèn)題經(jīng)常被搜索時(shí),插入和刪除的次數(shù)相對(duì)較少時(shí),序列表是合適的;當(dāng)經(jīng)常需要插入和刪除時(shí),鏈表是合適的。
順序表和鏈表的異同點(diǎn)有哪些?
順序列表是一種數(shù)據(jù)結(jié)構(gòu),其中存儲(chǔ)位置是連續(xù)的,可以立即訪問(wèn);
鏈表是一種數(shù)據(jù)結(jié)構(gòu),其中元素之間的關(guān)系由指針描述。
同一點(diǎn)
有限序列。
存儲(chǔ)空間不同
序列表的存儲(chǔ)空間是靜態(tài)的,需要預(yù)先分配空間;
鏈表的存儲(chǔ)空間是動(dòng)態(tài)分配的,只要有內(nèi)存空間,就可以動(dòng)態(tài)申請(qǐng)空間。
不同運(yùn)算時(shí)間
序列表是一種隨機(jī)存取結(jié)構(gòu),方便元素的隨機(jī)存取。因此,順序表應(yīng)該只用于搜索,很少用于插入和刪除操作;
鏈表是一種非隨機(jī)訪問(wèn)結(jié)構(gòu),任何節(jié)點(diǎn)的操作都必須從指針開始,沿著鏈掃描。需要頻繁插入和刪除元素的線性表應(yīng)使用鏈表。
數(shù)據(jù)結(jié)構(gòu)中順序表和鏈表有什么優(yōu)缺點(diǎn)?
順序列表的優(yōu)點(diǎn)是便于隨機(jī)存儲(chǔ),缺點(diǎn)是不便于插入和刪除等操作,因?yàn)椴迦牒蛣h除一個(gè)元素需要移動(dòng)所有后續(xù)元素,但是鏈表不存在這個(gè)問(wèn)題。鏈表只需要改變指針,時(shí)間復(fù)雜度很小,所以鏈表與順序表正好相反。優(yōu)點(diǎn)是便于插入和刪除等操作,缺點(diǎn)是不存在隨機(jī)存儲(chǔ),有序列表比較方便。