樹是一種非線性結構,除它的基本定義和基本術語,我們還要學會其相關性質,其中以二叉樹的性質為例:性質1 在二叉樹的第i層上至多有2i-1個節點(i>=1);性質2 深度為k的二叉樹至多有2k-1個結點(k>=1)性質3 對任何一棵二叉樹t,如果其終端結點數為n0,度為2的結點數為n2,則n0=n2+1.
然後到了遍歷二叉樹,回顧二叉樹的遞迴定義可知,二叉樹是由3個基本單位組成:根節點、左子樹和右子書。
1.先(根)序遍歷的遞迴演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴ 訪問根結點;
⑵ 遍歷左子樹;
⑶ 遍歷右子樹。
2.中(根)序遍歷的遞迴演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵訪問根結點;
⑶遍歷右子樹。
3.後(根)序遍歷得遞迴演算法定義:
若二叉樹非空,則依次執行如下操作:
⑴遍歷左子樹;
⑵遍歷右子樹;
⑶訪問根結點。
然後來說一下這次作業的樹的同構
int di(int x,int然後是深入虎穴,這其中我學會了一些queue標頭檔案的知識,**如下:y)
#include#include上週的學習目標沒有完成,這周打算複習一下第四章和第五章using
namespace
std;
typedef
struct
node;
int input(node *&a);
int find(node *a,int
root);
intmain()
int input(node *&a)
for(i=1;i<=n;++i)
}
for(i=1;i<=n;++i)
if(!vi[i]) break
;
return
i; }
int find(node *a,int
root)
}
} return
x;
}
第五章學習小結
1 第五章主要學習了與樹相關的知識,從二叉樹拓展到一棵普通的樹,再從一棵普通的樹拓展到哈夫曼樹,再從樹拓展到森林的概念。5 1節學習了樹和二叉樹的定義,對節點,根節點,葉子結點,深度,度等概念進行了初步的了解。5 4節了解了與二叉樹相關的一些性質,其中引出了完全二叉樹與滿二叉樹的概念,從這一節開始也...
第五章學習小結
一 小結 1.二叉樹 定義與性質 1 二叉樹有五種基本形態 2 在二叉樹的 第 i 層上至多有 2 i l 個結點 i 1 3 深度為 k 的 二叉樹至多有 2 k 1 個結點 k 1 4 葉子結點數 度為2結點數 1 5 滿二叉樹是完全二叉樹的一種 還有更常見的非完全二叉樹 二叉樹的儲存與遍歷 1...
第五章學習小結
第五章我們學習了新的資料結構,也就是樹。相比較與之前學的內容,我覺得樹更加的複雜。在學習二叉樹的遍歷的過程中,在樹的操作過程中很多重複操作都是要通過遞迴實現的,我對遞迴的思想也更加深刻明了。我們也學習了許多二叉樹的性質,比如 二叉樹的性質 1 二叉樹的第i層上至多有2 i 1 個結點 2 深度為k的...