樹及樹的遍歷

2021-08-27 16:16:37 字數 459 閱讀 9848

幾個概念和性質

·樹可以沒有結點,此情況下稱為空樹(empty tree)

·樹的層次(layer)從根結點開始算起,即根節點為第一層

·把節點的子樹棵樹稱為結點的度(degree),而樹中結點的最大值的度稱為樹的度

·樹的邊數等於結點數減1,反之,滿足連通且邊數等於結點數減1即為樹

·結點深度自頂向下累加,結點高度自底向上累加

樹的靜態寫法

struct nodenode[maxn];
若data值為下標本身,則直接建立vector陣列

vectorv[maxn];
樹的先根遍歷(即dfs)
void dfs(int root)node[maxn];
void bfs(int root)

}}

樹的遍歷 樹的遍歷(PTA)

給定一棵二叉樹的後序遍歷和中序遍歷,請你輸出其層序遍歷的序列。這裡假設鍵值都是互不相等的正整數。輸入第一行給出乙個正整數n 是二叉樹中結點的個數。第二行給出其後序遍歷序列。第三行給出其中序遍歷序列。數字間以空格分隔。在一行中輸出該樹的層序遍歷的序列。數字間以1個空格分隔,行首尾不得有多餘空格。7 2...

樹的建立,遍歷,及相關應用

include include define elemtype char 建立樹的資料結構型別 typedef struct tree tree,stree 樹的建立 void create stree t 注意這裡必須用引用 樹的先序遍歷 void preorder stree t 樹的中序遍歷 ...

二叉樹的遍歷 及 樹的雜項

一 二叉樹的廣度遍歷 廣度遍歷用佇列思想 佇列 先進先出,隊尾入隊,隊首出隊 首先根節點入隊 while 佇列非空 廣度遍歷表面使樹從上到下,從左到右遍歷 優先按行遍歷 二 二叉樹的深度遍歷 深度遍歷用堆疊思想 堆疊 先進後出,棧頂進,棧頂出 首先根節點入棧 while 堆疊非空 深度遍歷表面從左到...