数据结构的简单理解(3)
數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)可以分為以下四種:
(1)順序存儲(chǔ)方法
該方法把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置上相鄰的存儲(chǔ)單元里,結(jié)點(diǎn)間的邏輯關(guān)系由存儲(chǔ)單元的鄰接關(guān)系來體現(xiàn)。
由此得到的存儲(chǔ)表示稱為順序存儲(chǔ)結(jié)構(gòu) (Sequential Storage Structure),通常借助程序語言的數(shù)組描述。
該方法主要應(yīng)用于線性的數(shù)據(jù)結(jié)構(gòu)。非線性的數(shù)據(jù)結(jié)構(gòu)也可通過某種線性化的方法實(shí)現(xiàn)順序存儲(chǔ)。
(2)鏈接存儲(chǔ)方法
該方法不要求邏輯上相鄰的結(jié)點(diǎn)在物理位置上亦相鄰,結(jié)點(diǎn)間的邏輯關(guān)系由附加的指針字段表示。由此得到的存儲(chǔ)表示稱為鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)(Linked Storage Structure),通常借助于程序語言的指針類型描述。
(3)索引存儲(chǔ)方法
該方法通常在儲(chǔ)存結(jié)點(diǎn)信息的同時(shí),還建立附加的索引表。
索引表由若干索引項(xiàng)組成。若每個(gè)結(jié)點(diǎn)在索引表中都有一個(gè)索引項(xiàng),則該索引表稱之為稠密索引(Dense Index)。若一組結(jié)點(diǎn)在索引表中只對(duì)應(yīng)一個(gè)索引項(xiàng),則該索引表稱為稀疏索引(Spare Index)。索引項(xiàng)的一般形式是:
(關(guān)鍵字、地址)
關(guān)鍵字是能唯一標(biāo)識(shí)一個(gè)結(jié)點(diǎn)的那些數(shù)據(jù)項(xiàng)。稠密索引中索引項(xiàng)的地址指示結(jié)點(diǎn)所在的存儲(chǔ)位置;稀疏索引中索引項(xiàng)的地址指示一組結(jié)點(diǎn)的起始存儲(chǔ)位置。
(4)散列存儲(chǔ)方法
該方法的基本思想是:根據(jù)結(jié)點(diǎn)的關(guān)鍵字直接計(jì)算出該結(jié)點(diǎn)的存儲(chǔ)地址。
四種基本存儲(chǔ)方法,既可單獨(dú)使用,也可組合起來對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行存儲(chǔ)映像。
同一邏輯結(jié)構(gòu)采用不同的存儲(chǔ)方法,可以得到不同的存儲(chǔ)結(jié)構(gòu)。選擇何種存儲(chǔ)結(jié)構(gòu)來表示相應(yīng)的邏輯結(jié)構(gòu),視具體要求而定,主要考慮運(yùn)算方便及算法的時(shí)空要求,對(duì)數(shù)據(jù)采取不同的存儲(chǔ)方式在很大程度上會(huì)決定相應(yīng)算法的運(yùn)行效率。
總結(jié)
以上是生活随笔為你收集整理的数据结构的简单理解(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构的简单理解(2)
- 下一篇: 数据结构的简单理解(4)