數組/鏈表/哈希表/樹結構的優缺點


數組: 

  優點:

  1. 數組的主要優點是根據下標值訪問效率會很高

  2.但是如果希望根據元素來查找對應的位置?

  3.比較好的方法是先對數組排序,再進行二分查找

  缺點:

  需要先對數組排序,生成有序數組,才能提高查找效率

  數組在插入和刪除數據時,需要有大量的位移操作(插入中間或者首部時),效率很低

鏈表:

  優點:

  1.鏈表的插入和刪除操作效率都很高

  缺點:

  查找效率低,需要從頭依次查找鏈表的每一項

  即使插入和刪除效率高,但是如果插入和刪除中間位置,還是要重頭找到對應的數據

哈希表:

  優點: 插入/查詢/刪除效率非常高

  缺點:

  1.空間利用率不高,底層使用的是數組,並且使用的某些單元是沒有被利用的

  2.哈希表中的元素是無序的,不能按照固定的順序來遍歷哈希表中的元素

  3.不能快速的找出哈希表中的最大值或者最小值

樹結構:

  在某種場景下,使用樹結構會更加方便

  因為樹結構是非線性,可以表示一對多

  比如文件的目錄結構

  對於一個平衡樹的插入和查找等效率為O(logN)      平衡樹: 樹兩邊的數據均勻分布  非平衡樹: 樹兩邊的數據不均勻分布

  連續插入有序的數據,樹分布不均勻,變成一個鏈表結構,插入和查找等效率變成 O(N)  

  


免責聲明!

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



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