樹 tree
由n(n>=1)個有限節點組成一個具有層次關系的集合
每個節點有零個或多個子節點
沒有父節點的節點稱為根節點
每一個非根節點有且只有一個父節點
除了根節點外,每個子節點可以分為多個不相交的子樹
節點的度:一個節點含有的子樹的個數稱為該節點的度
樹的度:一棵樹中,最大的節點的度稱為樹的度;
葉節點或終端節點:度為0的節點稱為葉節點;
非終端節點或分支節點:度不為0的節點;
雙親節點或父節點:若一個節點含有子節點,則這個節點稱為其子節點的父節點;
孩子節點或子節點:一個節點含有的子樹的根節點稱為該節點的子節點;
兄弟節點:具有相同父節點的節點互稱為兄弟節點;
節點的層次:從根開始定義起,根為第1層,根的子節點為第2層,以此類推;
樹的高度或深度:樹中節點的最大層次;
堂兄弟節點:雙親在同一層的節點互為堂兄弟;
節點的祖先:從根到該節點所經分支上的所有節點;
子孫:以某節點為根的子樹中任一節點都稱為該節點的子孫。
森林:由m(m>=0)棵互不相交的樹的集合稱為森林
二叉樹 Binary Tree
每個節點最多含有兩個子樹的樹稱為二叉樹
完全二叉樹:除啦底層外每個節點都有兩個節點
滿二叉樹:最后一層填滿,每層都有兩個節點
有序樹 Ordered Tree
樹中任意節點的子結點之間有順序關系,這種樹稱為有序樹
無序樹 unOrdered Tree
樹中任意節點的子結點之間沒有順序關系,這種樹稱為無序樹,也稱為自由樹
堆 heap 二叉堆
特征:
1、完全二叉樹
2、節點有順序,父節點一定大于(小于)子節點,如:父節點為20,子節點為21和23.比父節點大。只和父節點比.