順序存儲與鏈式存儲的差異


這篇文章主要介紹順序存儲與鏈式存儲的差異,主要是從兩個大的維度幾個小的方面進行比較。

一,從空間性能角度

(1)由下表可以看出順序存儲的存儲密度是1(100%)。什么意思呢?就是開辟一段連續的空間,用來存順序表,這一段空間所有的位置都用來存儲我們需要的數據信息,沒有空間的浪費。所以利用率達到了100%【也就是存儲密度是1】。然而鏈式結構中的節點不僅存儲了數據,還保存了指針,然而指針並沒有存儲我們用到的數據,所以說,鏈式存儲的存儲密度是小於1的。

(2)由下表可以看出順序存儲的容量分配要弱一些。順序存儲需要多少空間要是事先確定,鏈式存儲是動態分配的,更加靈活嗎,可以動態的更改分配。

二,從時間性能方面

(1)在時間性能反方面,查找運算用順序表更方便,鏈式表相對來講就差一些。當然,在內容沒有順序的前提下,他們的時間復雜度是一樣的。都是從第一個開始匹配。如果存儲的順序表本身是有序的,涉及到二分查找法時,順序存儲要更優。

(2)讀取信息(指定某個內容讀取出來)順序表更優。比如說要讀取a[5],在順序表中,直接讀取a[5]即可,但是在鏈式存儲中,假設指針在頭結點,,頭結點指向1號節點, 要next()4次才能定位到a[5]。

(3)插入運算,鏈式結構更優。鏈式結構在插入數據的時候,只需要將要插入的節點的指針指向要插入節點上一個節點的next節點,在將上一個節點的next節點指向要插入的節點即可。但是在鏈式結構中,需要將要插入位置之后的所有元素向后移,再插入新的節點、

(4)刪除運算,鏈式結構更優。鏈式結構在刪除節點是,只需要將要刪除節點的上一個節點的指針指向他的下一個節點即可。然而在鏈式結構中,需要將要刪除節點之后的所有節點前移一個位置。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM