数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)
一、問題背景
最近在看王道論壇的數(shù)據(jù)結(jié)構(gòu)書籍,開頭部分提到了隨機存取、順序存取、隨機存儲和順序存儲的區(qū)別。
于是博主在網(wǎng)上查詢了相關(guān)資料對隨機存取、順序存取、隨機存儲和順序存儲的區(qū)別進行詳細解釋。
二、詳細解釋
1.存取結(jié)構(gòu):隨機存取和順序存取
1.1隨機存取
隨機存取(直接存取,Random Access)指的是當(dāng)存儲器中的數(shù)據(jù)被讀取或?qū)懭霑r,所需要的時間與該數(shù)據(jù)所在的物理地址無關(guān)。
隨機存取的微觀現(xiàn)實例子就是編程語言中的數(shù)組。
隨機存取的宏觀現(xiàn)實例子就是我們的隨機存取存儲器(RAM:Random Access Memory),通俗的說也就是我們電腦的內(nèi)存條。因為RAM利用電容存儲電荷的原理保存信息,所以RAM可以高速存取,且與物理地址無關(guān)。
1.2順序存取
順序存取(Sequential Access)是一種按記錄的邏輯順序進行讀、寫操作的存取方法,所需要的時間與該數(shù)據(jù)所在的物理地址有關(guān)。順序存取表現(xiàn)為:在存取第N個數(shù)據(jù)時,必須先訪問前(N-1)個數(shù)據(jù)。
順序存取的微觀現(xiàn)實例子就是數(shù)據(jù)結(jié)構(gòu)中的鏈表。
順序存取的現(xiàn)實例子就是我們的錄音磁帶、光盤、機械硬盤里面的磁盤。磁帶、光盤、磁盤上的數(shù)據(jù)分別存儲在不同扇區(qū)、不同磁道上,磁盤的讀寫磁頭通過切換不同扇區(qū)和磁道來讀取物理地址不連續(xù)的數(shù)據(jù)時,該過程中要經(jīng)過不同扇區(qū)和不同磁道上的無關(guān)數(shù)據(jù),磁盤的讀寫磁頭在切換不同扇區(qū)和磁道所需時間也不同,故為順序存取。
2.存儲結(jié)構(gòu):順序存儲、隨機存儲
存儲結(jié)構(gòu)是數(shù)據(jù)元素三大組成要素之一,下圖是博主對數(shù)據(jù)元素三要素所畫的思維導(dǎo)圖。
2.1順序存儲
順序存儲是把邏輯上相鄰的數(shù)據(jù)元素存儲在物理位置上相鄰的存儲單元中,數(shù)據(jù)元素之間的邏輯關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。
順序存儲的主要優(yōu)點:
順序存儲的主要缺點:
順序存儲的典型實例就是編程語言中的數(shù)組。例如,使用順序表存儲集合 {1,2,3,4,5},數(shù)據(jù)最終的存儲狀態(tài)如下圖所示:
數(shù)組中的所有元素存儲在一個連續(xù)性的內(nèi)存塊中,并通過數(shù)組的首地址和元素下標(biāo)來訪問。因此一個數(shù)組就是由1個數(shù)組首地址和N個數(shù)組元素構(gòu)成,數(shù)組不需要像鏈表一樣,鏈表的每個節(jié)點必須存儲下一個結(jié)點的物理地址,在存儲同樣多的數(shù)據(jù)下,數(shù)組比鏈表節(jié)省空間。
數(shù)組可通過數(shù)組的首地址和元素下標(biāo)來直接存取數(shù)組中的沒每一個元素,而不需要像鏈表一樣,在存取第N個鏈表結(jié)點的數(shù)據(jù)時,必須先訪問前(N-1)個鏈表結(jié)點。
但對數(shù)組的數(shù)據(jù)元素的插入、刪除運算時,可能要移動一系列的數(shù)據(jù)元素,特別的麻煩,因此順序存儲結(jié)構(gòu)的數(shù)組不便于修改。
2.2隨機存儲
在計算機中用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素(這組存儲單元可以是連續(xù)的,也可以是不連續(xù)的)。它不要求邏輯上相鄰的元素在物理位置上也相鄰,而是借助指示元素存儲地址的指針來表示元素之間的邏輯關(guān)系。
順序存儲的主要優(yōu)點:
順序存儲的主要缺點:
3. 占用空間大。隨機存儲的每個結(jié)點都由數(shù)據(jù)域和指針域組成,所以相同空間內(nèi)假設(shè)全存滿,順序存儲比隨機存儲可存更多數(shù)據(jù)。
4. 查找結(jié)點時鏈?zhǔn)酱鎯σ软樞虼鎯β?#xff0c;且只能實現(xiàn)順序存取。
2.2.1 隨機存儲——鏈?zhǔn)酱鎯?/h4>
鏈?zhǔn)酱鎯κ请S機存儲最典型的代表,因此鏈?zhǔn)酱鎯Φ亩x、優(yōu)點和缺點就是2.2隨機存儲中的定義、優(yōu)點和缺點。
2.2.2 隨機存儲——索引存儲
除建立存儲結(jié)點信息外,還建立附加的索引表來標(biāo)識結(jié)點的地址,索引表由若干索引項組成,索引項的一般形式是(關(guān)鍵字,地址)。
索引存儲的主要優(yōu)點:檢索速度快。
索引存儲的主要缺點:增加了附加的索引表,會占用較多的存儲空間。
2.2.3 隨機存儲——散列存儲
散列存儲,又稱Hash存儲,是一種將數(shù)據(jù)元素的存儲位置與關(guān)鍵碼之間建立確定對應(yīng)關(guān)系的查找技術(shù),即根據(jù)元素的關(guān)鍵字直接計算出該元素的存儲地址。
散列存儲的主要優(yōu)點:檢索、增加和刪除節(jié)點的操作更快。
散列存儲的主要缺點:若散列函數(shù)不好,則可能出現(xiàn)元素存儲單元的沖突。
本文參考來源:
[1]隨機存取、順序存取、隨機存儲和順序存儲
[2]隨機存取-百度百科
[3]順序表(順序存儲結(jié)構(gòu))及初始化詳解
[4]磁盤系統(tǒng)基本概念以及磁盤的順序讀寫與隨機讀寫
[5]順序存儲結(jié)構(gòu)-百度百科
[6]四種數(shù)據(jù)存儲結(jié)構(gòu)—順序存儲 鏈接存儲 索引存儲 散列存儲
總結(jié)
以上是生活随笔為你收集整理的数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年,推荐这几个优质公众号碎片化学
- 下一篇: 上一轮中奖信息公布