1、定義:樹是一種非線性結構,是一種一對多的資料結構。
分析樹的結構,我們用遞迴的方法,根結點下面又可以看做是子樹。
2、樹的儲存結構:
我們一般用孩子兄弟法儲存。也就是把乙個結點的左邊第乙個孩子放在此結點的左邊孩子,把此結點的右兄弟放在此結點的右邊孩子。
這樣就產生了二叉樹。
二叉樹和樹可以相互對應。
3、二叉樹及其性質
總之二叉樹有很多特殊的性質,直接研究樹會有些麻煩,所以我們通過研究二叉樹進而來研究樹。
而二叉樹的很多特性,可以幫我們解決很多問題,比如與查詢問題和排序問題。
4、二叉樹的儲存
二叉樹的儲存一般使用鍊錶的方式,也就是二叉鍊錶。
5、遍歷二叉樹
前序遍歷,中序遍歷,後序遍歷
6、二叉樹的建立
以前序遍歷的方式為例,建立二叉樹。核心是採用遞迴的方式。
#include #include "conio.h"
#include //定義樹的結點的結構體
typedef struct treenode
treenode,*bitree;
bitree createtree(bitree t)
return t;
}void pretree(bitree t)
}
int depth_left(bitree tree)
else
}void main()
7、樹,二叉樹,森林的相互轉化
(1)樹---》二叉樹:把左邊第乙個孩子放在左邊孩子,右邊兄弟放在右邊孩子
(3)二叉樹--》樹
8、赫夫曼樹
資料結構 樹
樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...
資料結構 樹
二叉樹性質回顧 滿二叉樹 完全二叉樹等 給定一棵二叉樹,要求分層遍歷該二叉樹,即從上到下按層次訪問該樹,每一層單獨輸出一行,每一層要求訪問的順序為從左到右。我們在遍歷的過程中將該層節點的孩子節點壓入乙個佇列,這樣就可以實現從上到下一層一層地遍歷該二叉樹。層序遍歷 並分層列印 如果不用分層的話只用佇列...
資料結構 樹
1.樹結構 資料結構中的樹是是對自然界中樹的形象的模仿,如圖1所示 圖1 樹結構的抽象 自然界中的樹和資料結構中的樹都是由乙個根引出,樹是一種分層系統中的非線性結構。2.樹的術語 圖2 樹的示意圖 1 結點 如圖2所示,a i這些圓圈就是結點,它是樹的基本構成單位。結點中的內容是資料項和指向其他結點...