40節(jié)介紹了HashMap,41節(jié)介紹了HashSet,它們的共同實現(xiàn)機制是哈希表,一個共同的限制是沒有順序,我們提到,它們都有一個能保持順序的對應(yīng)類TreeMap和TreeSet,這兩個類的共同實現(xiàn)基礎(chǔ)是排序二叉樹,為了更好的理解TreeMap/TreeSet,本節(jié)我們先來介紹排序二叉樹的一些基本概念和算法。
基本概念
先來說樹的概念,現(xiàn)實中,樹是從下往上長的,樹會分叉,在計算機程序中,一般而言,與現(xiàn)實相反,樹是從上往下長的,也會分叉,有個根節(jié)點,每個節(jié)點可以有一個或多個孩子節(jié)點,沒有孩子節(jié)點的節(jié)點一般稱為葉子節(jié)點。
二叉樹是一個樹,但,每個節(jié)點最多有兩個孩子節(jié)點,一左一右,左邊的稱為左孩子,右邊的稱為右孩子,我們看兩個例子,如下所示:
這兩棵樹都是二叉樹,左邊的根節(jié)點為5,除了葉子節(jié)點外,每個節(jié)點都有兩個孩子節(jié)點,右邊的根節(jié)點為7,有的節(jié)點有兩個孩子節(jié)點,有的只有一個。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26