優點和陣列的缺點,並且一個鏈表

來源:互聯網
上載者:User

標籤:

排列,定在儲存空間中的連續空間.名單,儲存空間地址可以是不連續,每一個鏈表的節點包含原來的記憶體和下一個節點的資訊(單向的一個,雙向鏈表的話,會有兩個). 

數組優於鏈表的: 
1.記憶體空間佔用的少,由於鏈表節點會附加上一塊或兩塊下一個節點的資訊.可是數組在建立時就固定了.所以也有可能會由於建立的數組過大或不足引起記憶體上的問題. 
2.數組內的資料可隨機訪問.但鏈表不具備隨機訪問性.這個非常easy理解.數組在記憶體裡是連續的空間.比方假設一個數組地址從100到200,且每一個元素佔用兩個位元組,那麼100-200之間的不論什麼一個偶數都是數組元素的地址.能夠直接訪問.鏈表在記憶體位址可能是分散的.所以必須通過上一節點中的資訊找能找到下一個節點. 
3.尋找速度上.這個也是由於記憶體位址的連續性的問題.不羅索了. 
鏈表優於數組的: 
1.插入與刪除的操作.假設數組的中間插入一個元素,那麼這個元素後的全部元素的記憶體位址都要往後移動.刪除的話同理.僅僅有對資料的最後一個元素進行插入刪除操作時,才比較快.鏈表僅僅須要更改有必要更改的節點內的節點資訊就夠了.並不須要更改節點的記憶體位址. 
2.記憶體位址的利用率方面.無論你記憶體裡還有多少空間,假設沒辦法一次性給出數組所需的要空間,那就會提示記憶體不足,磁碟空間整理的原因之中的一個在這裡.而鏈表能夠是分散的空間地址. 
3.鏈表的擴充性比數組好.由於一個數組建立後所佔用的空間大小就是固定的.假設滿了就沒法擴充.僅僅能建立一個更大空間的數組.而鏈表不是固定的,能夠非常方便的擴充.

   數組與鏈表的優缺點;    
    數組:

    長處:使用方便 ,查詢效率 比鏈表高。記憶體為一連續的地區 

    缺點:大小固定,不適合動態儲存裝置,不方便動態加入
    鏈表:

     長處:可動態加入刪除   大小可變   
     缺點:僅僅能通過順次指標訪問,查詢效率低

 補充:

順序表的長處:尋找方便,適合隨機尋找 
順序表的缺點:插入、刪除操作不方便。由於插入、刪除操作會導致大量元素的移動 

連結資料表的長處:插入、刪除操作不方便。不會導致元素的移動,由於元素增減,僅僅須要調整指標。 
順序表的缺點:尋找方便,不適合隨機尋找

鏈表的特性是在中間任何位置加入刪除元素的都很的快。不須要移動其他的元素。  
鏈表顧名思義,要把各個元素連結起來才算撒。    
通常鏈表每個元素都要儲存一個指向下一個元素的指標(單鏈表)。

    
雙鏈表的化每一個元素即要儲存到下一個元素的指標,還要儲存一個上一個元素的指標。

    
迴圈鏈表則把最後一個元素中儲存下一個元素指標指向第一個元素。    
數組是一組具有同樣類型和名稱的變數的集(百度)合。

這些變數稱為數組的元素,每一個數組元素都有一個編號,這個編號叫做下標,我們能夠通過下標來差別這些元素。數組元素的個數有時也稱之為數組的長度。

數組在進行尋找,排序操作是非常方便;鏈表不須要連續空間。並且作插入操作方便。    
分配空間上也不同,建立過程也不同。
鏈表和數組的本質差異    
     
  1     在訪問方式上    
        數組能夠隨機訪問當中的元素    
        鏈表則必須是順序訪問,不能隨機訪問    
     
  2     空間的使用上    
        鏈表能夠任意擴大    
        數組則不能    

著作權聲明:本文博主原創文章,部落格,未經同意不得轉載。

優點和陣列的缺點,並且一個鏈表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.