幾個概念和性質
·樹可以沒有結點,此情況下稱為空樹(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 堆疊非空 深度遍歷表面從左到...