推薦教程:windows運(yùn)維教程
存儲(chǔ)結(jié)構(gòu)分四類:順序存儲(chǔ)、鏈接存儲(chǔ)、索引存儲(chǔ) 和 散列存儲(chǔ)。
順序結(jié)構(gòu)和鏈接結(jié)構(gòu)適用在內(nèi)存結(jié)構(gòu)中。
索引結(jié)構(gòu)和散列結(jié)構(gòu)適用在外存與內(nèi)存交互結(jié)構(gòu)。
一、順序存儲(chǔ)
在計(jì)算機(jī)中用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表的各個(gè)數(shù)據(jù)元素,稱作線性表的順序存儲(chǔ)結(jié)構(gòu)。
特點(diǎn):
1、隨機(jī)存取表中元素。
2、插入和刪除操作需要移動(dòng)元素。
二、鏈接存儲(chǔ)
在計(jì)算機(jī)中用一組任意的存儲(chǔ)單元存儲(chǔ)線性表的數(shù)據(jù)元素(這組存儲(chǔ)單元可以是連續(xù)的,也可以是不連續(xù)的)。它不要求邏輯上相鄰的元素在物理位置上也相鄰.因此它沒(méi)有順序存儲(chǔ)結(jié)構(gòu)所具有的弱點(diǎn),但也同時(shí)失去了順序表可隨機(jī)存取的優(yōu)點(diǎn)。
特點(diǎn):
1、比順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)密度小 (每個(gè)節(jié)點(diǎn)都由數(shù)據(jù)域和指針域組成,所以相同空間內(nèi)假設(shè)全存滿的話順序比鏈?zhǔn)酱鎯?chǔ)更多)。
2、邏輯上相鄰的節(jié)點(diǎn)物理上不必相鄰。
3、插入、刪除靈活 (不必移動(dòng)節(jié)點(diǎn),只要改變節(jié)點(diǎn)中的指針)。
4、查找結(jié)點(diǎn)時(shí)鏈?zhǔn)酱鎯?chǔ)要比順序存儲(chǔ)慢。
5、每個(gè)結(jié)點(diǎn)是由數(shù)據(jù)域和指針域組成。
三、索引存儲(chǔ)
除建立存儲(chǔ)結(jié)點(diǎn)信息外,還建立附加的索引表來(lái)標(biāo)識(shí)結(jié)點(diǎn)的地址。索引表由若干索引項(xiàng)組成。
特點(diǎn):
索引存儲(chǔ)結(jié)構(gòu)是用結(jié)點(diǎn)的索引號(hào)來(lái)確定結(jié)點(diǎn)存儲(chǔ)地址,其優(yōu)點(diǎn)是檢索速度快,缺點(diǎn)是增加了附加的索引表,會(huì)占用較多的存儲(chǔ)空間。
四、散列存儲(chǔ)
散列存儲(chǔ),又稱hash存儲(chǔ),是一種力圖將數(shù)據(jù)元素的存儲(chǔ)位置與關(guān)鍵碼之間建立確定對(duì)應(yīng)關(guān)系的查找技術(shù)。
散列法存儲(chǔ)的基本思想是:由節(jié)點(diǎn)的關(guān)鍵碼值決定節(jié)點(diǎn)的存儲(chǔ)地址。散列技術(shù)除了可以用于查找外,還可以用于存儲(chǔ)。
特點(diǎn):
散列是數(shù)組存儲(chǔ)方式的一種發(fā)展,相比數(shù)組,散列的數(shù)據(jù)訪問(wèn)速度要高于數(shù)組,因?yàn)榭梢砸罁?jù)存儲(chǔ)數(shù)據(jù)的部分內(nèi)容找到數(shù)據(jù)在數(shù)組中的存儲(chǔ)位置,進(jìn)而能夠快速實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn),理想的散列訪問(wèn)速度是非常迅速的,而不像在數(shù)組中的遍歷過(guò)程,采用存儲(chǔ)數(shù)組中內(nèi)容的部分元素作為映射函數(shù)的輸入,映射函數(shù)的輸出就是存儲(chǔ)數(shù)據(jù)的位置,這樣的訪問(wèn)速度就省去了遍歷數(shù)組的實(shí)現(xiàn),因此時(shí)間復(fù)雜度可以認(rèn)為為O(1),而數(shù)組遍歷的時(shí)間復(fù)雜度為O(n)。
以上就是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)包括哪四種的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選