日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛)

發(fā)布時間:2023/12/9 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构考研:随机存取、顺序存取、随机存储和顺序存储的区别/详细解释(计算机/软件工程/王道论坛) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、問題背景

最近在看王道論壇的數(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)點:

  • 節(jié)省存儲空間。因為分配給數(shù)據(jù)的存儲單元全用存放數(shù)據(jù)元素(不考慮c/c++語言中數(shù)組需指定大小的情況),數(shù)據(jù)元素之間的邏輯關(guān)系沒有占用額外的存儲空間。
  • 可實現(xiàn)對數(shù)據(jù)元素的隨機存取(直接存取)。即每一個數(shù)據(jù)元素對應(yīng)一個元素下標(biāo),由該元素下標(biāo)可以直接計算出來數(shù)據(jù)元素的物理存儲地址。
  • 順序存儲的主要缺點:

  • 不便于數(shù)據(jù)修改。對數(shù)據(jù)元素的插入、刪除運算時,可能要移動一系列的數(shù)據(jù)元素。
  • 產(chǎn)生磁盤碎片。因為順序存儲只能使用相鄰的一整塊存儲單元,因此會產(chǎn)生較多的磁盤碎片。
  • 順序存儲的典型實例就是編程語言中的數(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)點:

  • 不會產(chǎn)生磁盤碎片。因為隨機存儲不要求邏輯上相鄰的元素在物理位置上也相鄰,而是借助指示元素存儲地址的指針來表示元素之間的邏輯關(guān)系,因此不會產(chǎn)生磁盤碎片。
  • 數(shù)據(jù)修改方便。對數(shù)據(jù)元素的插入、刪除運算時,隨機存儲不必移動結(jié)點,只要改變結(jié)點中的指針。
  • 順序存儲的主要缺點:
    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)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。