區(qū)塊鏈存證 順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的優(yōu)缺點(diǎn)?
順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的優(yōu)缺點(diǎn)?順序存儲結(jié)構(gòu)與鏈?zhǔn)酱鎯Y(jié)構(gòu)的區(qū)別:鏈?zhǔn)搅斜泶鎯Y(jié)構(gòu)的存儲地址不一定是連續(xù)的,但順序存儲結(jié)構(gòu)的存儲地址必須是連續(xù)的;鏈?zhǔn)酱鎯m合頻繁地插入、刪除和更新元素,而順序存儲
順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的優(yōu)缺點(diǎn)?
順序存儲結(jié)構(gòu)與鏈?zhǔn)酱鎯Y(jié)構(gòu)的區(qū)別:鏈?zhǔn)搅斜泶鎯Y(jié)構(gòu)的存儲地址不一定是連續(xù)的,但順序存儲結(jié)構(gòu)的存儲地址必須是連續(xù)的;鏈?zhǔn)酱鎯m合頻繁地插入、刪除和更新元素,而順序存儲則適合于頻繁查詢。順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的優(yōu)缺點(diǎn):順序存儲結(jié)構(gòu)比鏈?zhǔn)酱鎯Y(jié)構(gòu)節(jié)省更多的空間。由于鏈?zhǔn)浇Y(jié)構(gòu),每個(gè)節(jié)點(diǎn)都有一個(gè)指針存儲字段。存儲操作:序列支持隨機(jī)存取,操作方便。插入和刪除:鏈?zhǔn)奖软樞蚴礁奖悖ㄒ驗(yàn)椴迦腠樞虮硪埠芊奖悖?。問題是序列表的插入需要更大的空間復(fù)雜度,包括從標(biāo)題索引和索引后的元素向后移動(dòng),而鏈表的插入是在索引后完成的)例如,在字典中查找字母J時(shí),可以選擇兩種方式:一是按順序查詢,從第一個(gè)開始第二,索引查詢,從字典索引,直接找到J頁的頁數(shù),直接找到頁數(shù),也許比順序查詢要快。
為什么引用鏈?zhǔn)酱鎯Γ?/h2>
1優(yōu)缺點(diǎn)
(1)在順序存儲中,相鄰數(shù)據(jù)元素的存儲地址也是相鄰的(邏輯和物理統(tǒng)一);內(nèi)存中可用存儲單元的地址必須是連續(xù)的。
優(yōu)點(diǎn):存儲密度高(=1),存儲空間利用率高。缺點(diǎn):不方便插入或刪除元素。
②在鏈?zhǔn)酱鎯χ?,相鄰的?shù)據(jù)元素可以隨意存儲,但存儲空間分為兩部分,一部分存儲節(jié)點(diǎn)值,另一部分存儲表示節(jié)點(diǎn)關(guān)系的指針
優(yōu)點(diǎn):插入或刪除元素非常方便,使用靈活。缺點(diǎn):存儲密度低(<1),存儲空間利用率低。
2用法
序列表適用于靜態(tài)操作(如搜索),鏈表適用于動(dòng)態(tài)操作(如插入和刪除)。
如果線性表的長度變化不大,其主要操作是查找,則使用順序表;
如果線性表的長度變化很大,其主要操作是插入或刪除,則使用鏈接表。
3比較
序列表與鏈表的比較
基于空間的比較
存儲分配方法
序列表的存儲空間是靜態(tài)分配的
鏈表的存儲空間是動(dòng)態(tài)分配的
存儲密度=節(jié)點(diǎn)數(shù)據(jù)的存儲量/節(jié)點(diǎn)的總存儲量結(jié)構(gòu)
序列表的存儲密度=1
鏈表的存儲密度1]]基于時(shí)間的比較
訪問方法
序列表可以隨機(jī)訪問,也可以按順序訪問
鏈表按順序訪問
插入/刪除過程中移動(dòng)的元素?cái)?shù)
序列表需要移動(dòng)近平均一半的元素
鏈表不需要移動(dòng)元素,只需要修改指針
不能。
數(shù)組是一個(gè)連續(xù)的內(nèi)存塊。
鏈存儲基于切片,適用于鏈表、樹等。
數(shù)組能采用鏈?zhǔn)酱鎯Y(jié)構(gòu)嗎?
當(dāng)線性列表存儲在鏈中時(shí),其地址可以是連續(xù)的,也可以不是連續(xù)的。線性鏈表的鏈?zhǔn)酱鎯梢杂眠B續(xù)或不連續(xù)的存儲單元存儲線性鏈表中的元素。
線性表采用鏈?zhǔn)酱鎯Φ刂罚?/h2>
這兩種存儲結(jié)構(gòu)的主要特點(diǎn)如下:1。順序存儲結(jié)構(gòu):存儲單元的地址是連續(xù)的,通過“相鄰物理位置”表示線性表中數(shù)據(jù)元素之間的邏輯關(guān)系,可以隨機(jī)訪問表中的任意元素。2鏈?zhǔn)酱鎯Y(jié)構(gòu):存儲單元的地址為任意組,其存儲單元可以是連續(xù)的,也可以是不連續(xù)的。在表示數(shù)據(jù)元素之間的邏輯關(guān)系時(shí),除了存儲其自身的信息外,還需要存儲一個(gè)表示其直接后繼者的信息(即直接后繼者的存儲位置)。這兩部分信息構(gòu)成了數(shù)據(jù)元素的存儲映像,稱為節(jié)點(diǎn)。雖然不同數(shù)據(jù)表的數(shù)據(jù)元素可以不同,但同一線性表的數(shù)據(jù)元素必須具有相同的數(shù)據(jù)類型和長度。2線性表中每個(gè)數(shù)據(jù)元素的位置僅取決于其序列號。數(shù)據(jù)元素之前的相對位置是線性的,即只有“第一個(gè)”和“最后一個(gè)”數(shù)據(jù)元素。除第一個(gè)和最后一個(gè)外,其他元素前面只有一個(gè)數(shù)據(jù)元素(直接前體),后面只有一個(gè)數(shù)據(jù)元素(直接后繼)