日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

树 - 定义和基本概念

發(fā)布時(shí)間:2025/6/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 树 - 定义和基本概念 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、樹(Tree)是n(n>=0)個(gè)結(jié)點(diǎn)的有限集。n=0時(shí)稱為空樹。在任意一棵非空樹中:(1)有且僅有一個(gè)特定的稱為根(root)的結(jié)點(diǎn)。

(2)當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,....,Tm, 其中每一個(gè)集合本身又是一棵樹,并且稱為根的子樹(SubTree),如圖1所示:

圖1

樹的定義之中還用到了樹的概念,即遞歸定義。如圖2中的子樹T1和T2就是根結(jié)點(diǎn)A的子樹。當(dāng)然D,G,H,I 組成的的樹又是B結(jié)點(diǎn)的子樹,E,J 組成的樹是C結(jié)點(diǎn)的子樹。

圖2

對(duì)于樹的定義還需要注意兩點(diǎn):

1.n>0時(shí)根結(jié)點(diǎn)是唯一的,不可能存在多個(gè)根結(jié)點(diǎn)。

2.m>0時(shí),子樹的個(gè)數(shù)沒有限制,但它們一定是互不相交的。如圖3中的兩個(gè)結(jié)構(gòu)就不符合樹的定義,因?yàn)樗鼈兌加邢嘟坏淖訕洹?/span>

圖3

二.樹的結(jié)點(diǎn)包含一個(gè)數(shù)據(jù)元素及若干指向其子樹的分支。結(jié)點(diǎn)擁有的子樹稱為結(jié)點(diǎn)的度(Degree)。度為0的結(jié)點(diǎn)稱為葉結(jié)點(diǎn)(Leaf)或終端結(jié)點(diǎn);度不為0的結(jié)點(diǎn)稱為非終端結(jié)點(diǎn)或分支結(jié)點(diǎn),除根結(jié)點(diǎn)之外,分支結(jié)點(diǎn)也稱為內(nèi)部結(jié)點(diǎn)。樹的度是樹內(nèi)各結(jié)點(diǎn)的度的最大值。如圖4,因?yàn)檫@棵樹結(jié)點(diǎn)的度的最大值是結(jié)點(diǎn)D的度3,所以樹的度也為3。

圖4

結(jié)點(diǎn)的子樹的根稱為該結(jié)點(diǎn)的孩子(Child),相應(yīng)地,該結(jié)點(diǎn)稱為孩子的雙親(Parent),同一個(gè)雙親的孩子之間互稱為兄弟(Sibling)。結(jié)點(diǎn)的祖先是從根到該結(jié)點(diǎn)所經(jīng)分支上的所有結(jié)點(diǎn)。所以對(duì)于H來說,D,B,A都是它的祖先。反之,以某結(jié)點(diǎn)為根的子樹中的任一結(jié)點(diǎn)都稱為該結(jié)點(diǎn)的子孫。B的子孫有D,G,H,I,如圖5所示。

圖5

三、結(jié)點(diǎn)的層次(Level)從根開始定義起,根為第一層,根的孩子為第二層。其雙親在同一層的結(jié)點(diǎn)互為堂兄弟。顯然在圖6中D,E,F都是堂兄弟,而

G,H,I 與 J也是堂兄弟。樹中結(jié)點(diǎn)的 最大層次稱為樹的深度(Depth)或高度,當(dāng)前樹的深度為4(注:也有一些書是定義為branches的個(gè)數(shù),此時(shí)認(rèn)為

度為3)。

圖6

若將樹中每個(gè)結(jié)點(diǎn)的各子樹看成是從左到右有次序的(即不能互換),則稱該樹為有序樹(OrderedTree);否則稱為無序樹(UnorderedTree)。注意:若不特別指明,一般討論的樹都是有序樹。

森林(Forest)是m(m≥0)棵互不相交的樹的集合。對(duì)樹中每個(gè)結(jié)點(diǎn)而言,其子樹的集合即為森林。對(duì)于圖1的樹而言,圖2的兩棵子樹其實(shí)就可以理解為森林。樹和森林的概念相近。刪去一棵樹的根,就得到一個(gè)森林;反之,加上一個(gè)結(jié)點(diǎn)作樹根,森林就變?yōu)橐?span style="font-family:arial, '宋體', sans-serif;font-size:14px;line-height:24px;text-indent:30px;">棵樹。

對(duì)比線性表與樹的結(jié)構(gòu),它們有很大不同,如圖7所示。

圖7


參考:《大話數(shù)據(jù)結(jié)構(gòu)》


總結(jié)

以上是生活随笔為你收集整理的树 - 定义和基本概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。