首頁>Club>
用了這些資料結構有哪些優勢
3
回覆列表
  • 1 # 此生唯一

    以連結串列為例,插入資料很簡單,就是將最後節點的next指向新節點,時間演算法為O(1)常數級,但是查詢的時候需要挨個遍歷比較,通常為O(N)級別!

    而一顆平衡樹,查詢和插入都是O(log2N)級,O(N)和O(lon2N)在資料量十分巨大的時候有著天壤之別的效率差異,比如N為65536(2的16次方)的時候,連結串列查詢平均查詢是3萬多次,而平衡樹只需要16次,效率相差很大!

    樹結構通常包括:二叉樹,二叉查詢樹,紅黑樹,2-3樹,帶B的樹(B,B-,B+,B*),字典樹等。

    回到題目中來,資料結構中的樹結構有哪些實際用例呢?

    ①,紅黑樹:JAVA8中的hashMap滿足一定的閾值,自動擴容時會變為紅黑樹,treeMap,linux中的epoll模型,nginx中的Timer管理等。

    ②,B,B+樹:廣泛用於資料庫(mysql,oracle等)的索引。

    ④,生活中的樹狀結構有公司職級關係,國家省市區級聯,族譜等等都有樹結構形式!

    可以說,樹形結構是學習資料結構的路上不可或缺的一環,掌握樹形結構的原理,設計能對我們的高效能設計理念有著舉足輕重的作用,還有更多的技術分享,敬請關注。。。

  • 中秋節和大豐收的關聯?
  • 瘋狂猜成語2裡有一個人一隻手拿著火一隻手拿著一個棍子?