1)樹中結點的最大度數沒有限制,而二叉樹結點的最大度數為2;
2)樹的結點無左、右之分,而二叉樹的結點有左、右之分。
二叉樹樹
森林先序遍歷
先根遍歷
先序遍歷
中序遍歷
後序遍歷
後根遍歷
中序遍歷
樹的結點:包含乙個資料元素及若干指向子樹的分支;
孩子結點:結點的子樹的根稱為該結點的孩子;
雙親結點:b 結點是a 結點的孩子,則a結點是b 結點的雙親;
兄弟結點:同一雙親的孩子結點; 堂兄結點:同一層上結點;
祖先結點: 從根到該結點的所經分支上的所有結點子孫結點:以某結點為根的子樹中任一結點都稱為該結點的子孫
結點層:根結點的層定義為1;根的孩子為第二層結點,依此類推;
樹的深度:樹中最大的結點層(第一層根節點深度為1)
樹的寬度:具有最多結點數的層中包含的結點數。
樹的高度:從葉節點開始(其高度為1)自底向上逐層累加的
結點的度:結點子樹的個數
樹的度: 樹中最大的結點度。
葉子結點:也叫終端結點,是度為 0 的結點;
分枝結點:度不為0的結點;
有序樹:子樹有序的樹,如:家族樹;
無序樹:不考慮子樹的順序;
二叉樹也是遞迴定義的,其結點有左右子樹之分,邏輯上二叉樹有五種基本形態:
(1)空二叉樹——(a);
(2)只有乙個根結點的二叉樹——(b);
(3)只有右子樹——(c);
(4)只有左子樹——(d);
(5)完全二叉樹——(e);
(1) 在二叉樹中,第i層的結點總數不超過2i
−1(2) 深度為h的二叉樹最多有2h
−1個結點(h>=1),最少有h個結點;
(3)具有n個結點的完全二叉樹的深度為lo
g2(n
+1)
(例如:樹的最大層次就是深度,比如上圖,深度是4。很容易得出,深度為k的樹,擁有的最大結點數是 lo
g2(n
+1) 。)
除最後一層無任何子節點外,每一層上的所有結點都有兩個子結點(最後一層上的無子結點的結點為葉子結點)。也可以這樣理解,除葉子結點外的所有結點均有兩個子結點。節點數達到最大值。所有葉子結點必須在同一層上.
若設二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。
完全二叉樹是由滿二叉樹而引出來的。對於深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時稱之為完全二叉樹。
若一棵二叉樹至多只有最下面的兩層上的結點的度數可以小於2,並且最下層上的結點都集中在該層最左邊的若干位置上,則此二叉樹成為完全二叉樹。
樹和二叉樹 森林 線索二叉樹
1 三叉鍊錶 在二叉鍊錶的基礎上增加了乙個指向雙親的指標域。2 三叉鍊錶的結點資料型別宣告 templatestruct node 3 樹 二叉樹 1.兄弟加線。2.保留雙親與第一孩子連線,刪去與其他孩子的連線。3.順時針轉動,使之層次分明。樹的前序遍歷等價於二叉樹的前序遍歷!樹的後序遍歷等價於二叉...
二叉樹 樹 森林轉換
1 加線。在所有兄弟結點之間加一條連線。2 去線。樹中的每個結點,只保留它與第乙個孩子結點的連線,刪除它與其它孩子結點之間的連線。3 層次調整。以樹的根節點為軸心,將整棵樹順時針旋轉一定角度,使之結構層次分明。注意第乙個孩子是結點的左孩子,兄弟轉換過來的孩子是結點的右孩子 1 把每棵樹轉換為二叉樹。...
樹 森林 二叉樹的轉換
樹 森林與二叉樹的轉換 樹或森林與二叉樹之間有乙個自然的一一對應關係。任何乙個森林或一棵樹可惟一地對應到一棵二叉樹 反之,任何一棵二叉樹也能惟一地對應到乙個森林或一棵樹。1 樹 森林到二叉樹的轉換 1 將樹轉換為二叉樹 樹中每個結點最多只有乙個最左邊的孩子 長子 和乙個右鄰的兄弟。按照這種關係很自然...