數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)(青島大學(xué)-王卓)

?
第04周07--2.6順序表和鏈表的比較 P41 - 02:26
?
優(yōu)點(diǎn):
1、動(dòng)態(tài)存儲(chǔ),可以結(jié)點(diǎn)動(dòng)態(tài)進(jìn)行申請(qǐng)和釋放;
2、插入或刪除的時(shí)候,不用移動(dòng)其它結(jié)點(diǎn)
缺點(diǎn):
1、存儲(chǔ)密度小
2、還需要格外的存儲(chǔ)空間來存儲(chǔ)指針
3、不是隨機(jī)存取
存儲(chǔ)密度?假如存儲(chǔ)本身數(shù)據(jù)需要8字節(jié),存儲(chǔ)下一個(gè)結(jié)點(diǎn)的指針需要4字節(jié),那么存儲(chǔ)密度就等于8/12
?
第04周07--2.6順序表和鏈表的比較 P41 - 05:02
?
空間復(fù)雜度:
存儲(chǔ)空間:順序表<鏈表
存儲(chǔ)密度:順序表>鏈表
時(shí)間復(fù)雜度:
存取元素:順序表<鏈表
插入和刪除:順序表>鏈表
適用情況!!!!
線性表的應(yīng)用
- 線性表的合并:求AB的并集
算法:從B中取出每一個(gè)元素,看該元素存在于A中,如果存在就取下一個(gè)元素,如果不存在就插入到A中表尾。

- 有序表的合并:AB有序,將其合并仍未非遞增/非遞減序列
算法:循環(huán)兩個(gè)線性表,比較兩個(gè)元素,始終將較小的一個(gè)元素放入新表C,直到有一個(gè)表為空,最后將有剩余的表中元素依次假如C。
代碼:


用單鏈表實(shí)現(xiàn)有序表的合并:
不需要新的單鏈表,直接改變指針即可。
算法?。。。?/p>

循環(huán)結(jié)束的條件:AB鏈表有一個(gè)為空。
標(biāo)簽: