【樹的定義】
n個(gè)節(jié)點(diǎn)構(gòu)成的有限集合馋缅。
當(dāng)n=0時(shí)坎匿,成為空樹奈惑;
對(duì)于任一棵非空樹慌申,它具備以下性質(zhì):
【1】樹中有一個(gè)稱為“根Root”的特殊節(jié)點(diǎn)陌选,用r表示
【2】其余節(jié)點(diǎn)可以分為m個(gè)互不相交的有限集T1理郑,T2,...咨油,Tm您炉,其中每個(gè)集合本身又是一個(gè)樹,稱為原來的樹的“子樹(SubTree)”
【基本術(shù)語】
【1】結(jié)點(diǎn)的度(Degree):結(jié)點(diǎn)的子樹個(gè)數(shù)
【2】樹的度:樹的所有結(jié)點(diǎn)中最大的度數(shù)
【3】葉結(jié)點(diǎn)(Leaf): 度為0的結(jié)點(diǎn)
【4】父結(jié)點(diǎn)(Parent):有子樹的結(jié)點(diǎn)是其子樹的根結(jié)點(diǎn)的父結(jié)點(diǎn)
【5】子結(jié)點(diǎn)(Child):若A結(jié)點(diǎn)是B結(jié)點(diǎn)的父結(jié)點(diǎn)役电,則稱B結(jié)點(diǎn)是A結(jié)點(diǎn)的子結(jié)點(diǎn)赚爵;
子結(jié)點(diǎn)也稱孩子結(jié)點(diǎn)。
【6】兄弟結(jié)點(diǎn)(Sibling):具有同一父結(jié)點(diǎn)的各結(jié)點(diǎn)彼此是兄弟結(jié)點(diǎn)法瑟。
【7】路徑和路徑長(zhǎng)度:從結(jié)點(diǎn)n1到nk的路徑為一個(gè)結(jié)點(diǎn)序列n1 , n2 ,… , nk , ni是
ni+1的父結(jié)點(diǎn)冀膝。路徑所包含邊的個(gè)數(shù)為路徑的長(zhǎng)度。
【8】 祖先結(jié)點(diǎn)(Ancestor):沿樹根到某一結(jié)點(diǎn)路徑上的所有結(jié)點(diǎn)都是這個(gè)結(jié)點(diǎn)的祖
先結(jié)點(diǎn)霎挟。
【9】子孫結(jié)點(diǎn)(Descendant):某一結(jié)點(diǎn)的子樹中的所有結(jié)點(diǎn)是這個(gè)結(jié)點(diǎn)的子孫窝剖。
【10】 結(jié)點(diǎn)的層次(Level):規(guī)定根結(jié)點(diǎn)在1層,其它任一結(jié)點(diǎn)的層數(shù)是其父結(jié)點(diǎn)
的層數(shù)加1酥夭。
【11】 樹的深度(Depth) :樹中所有結(jié)點(diǎn)中的最大層次是這棵樹的深度赐纱。
【樹的表示】
【兒子-兄弟表示法】
將上圖節(jié)點(diǎn)旋轉(zhuǎn)45°,則得到二叉樹