從零開始學 樹

2021-07-06 08:01:41 字數 1743 閱讀 9073

在之前做二級的題的時候,偶爾會碰見二叉樹,很自然的就想起了樹,那麼什麼是樹呢?這裡說的可不是外面的參天大樹,而是有實際概念的樹,下面就來介紹一下樹。

樹是由n(n≥0)個結點組成的有限集合。若n=0,稱為空樹;若n>0,則:

(1)有乙個特定的稱為根(root)的結點。它只有直接後繼,但沒有直接前驅;

( 2)除根結點以外的其它結點可以劃分為m(m≥0)個互不相交的有限集合t0,t1,…,tm-1,每個集合ti(i=0,1,…,m-1)又是一棵樹,稱為根的子樹,每棵子樹的根結點有且僅有乙個直接前驅,但可以有0個或多個直接後繼。

tree =(k,r)

k=r=

其中,n為樹中結點個數,若 n=0,則為一棵空樹, n> 0時稱為一棵非空樹,而關係 r 應滿足下列條件:

(1)有且僅有乙個結點沒有前驅,稱該結點為樹根;

(2)除根結點以外,其餘每個結點有且僅有乙個直接前驅;

(3)樹中每個結點可以有多個直接後繼(孩子結點) (

1)結點

指樹中的乙個資料元素,一般用乙個字母表示。

(2)結點的度    

乙個結點包含子樹的數目,稱為該結點的度。 

(3)樹葉(葉子)

度為0的結點,稱為葉子結點或樹葉,也叫終端結點。 

(4)孩子結點

若結點x有子樹,則子樹的根結點為x的孩子結點,也稱為孩子,兒子,子女等。

(5)雙親結點

若結點x有子女y,則x為y的雙親結點。 

(6)兄弟結點

具有同乙個雙親的結點,稱為兄弟結點。 

(7)分枝結點

除葉子結點外的所有結點,為分枝結點,也叫非終端結點。

(8)子孫結點

某一結點的子女及子女的子女都為該結點子孫。

(9)祖先結點

從根結點到該結點所經過分枝上的所有結點為該結點的祖先

(10)層數

根結點的層數為1,其它結點的層數為從根結點到該結點所經過的分支數目再加1。 

(11) 樹的高度(深度) 

樹中結點所處的最大層數稱為樹的高度,如空樹的高度為0,只有乙個根結點的樹高度為1。

(12)樹的度

樹中結點度的最大值稱為樹的度。

(13)  有序樹  

若一棵樹中所有子樹從左到右的排序是有順序的,不能顛倒次序。稱該樹為有序樹。

(14 ) 無序樹

若一棵樹中所有子樹的次序無關緊要,則稱為無序樹。

(15)森林(樹林)

若干棵互不相交的樹組成的集合為森林。一棵樹可以看成是乙個特殊的森林。

1、a的度為2,b的度為3,樹的度為3;

2、a,b,c,e為分支結點,d,h,i,f,g為葉子結點;

3、b,c為a的孩子結點;a為b,c的雙親結點;b,c互為兄弟結點;h的祖先結點為a,b,e;b的子孫結點為d,e,f,h,i。

4、a在1層,b,c在2層,d,e,f,g在3層,h,i在4層,樹的深度為4;

5、對於一棵反映父子關係的家族樹,兄弟結點之間是按照排行大小有序的,所以它是一棵有序樹。 

小結:本部落格主要是梳理知識點,並沒有自己太多的理解,只能說通過梳理,更加深刻的理解了樹。3.

樹葉(葉9.分枝結點

除葉子結點外的所有結點,為分枝結點,也叫非終端結點。子)度為0

的結點,稱為葉子結點或樹葉,也叫終端結點。 

樹的邏輯結構描述 

零開始學python 從零開始學Python

第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...

從零開始學android

相對布局管理器指的是參考某一其他控制項進行擺放,可以通過控制,將元件擺放在乙個指定參考元件的上 下 左 右等位置,這些可以直接通過各個元件提供的屬性完成。下面介紹一下各個方法的基本使用 no.屬性名稱 對應的規則常量 描述1 android layout below relativelayout.b...

從零開始學正則

這是一篇簡單介紹正規表示式的部落格,從零開始學正則,簡單易懂。首先 我們編寫處理字串的程式或網頁時會用到正規表示式,它就是記錄文字規則的 舉個栗子,大家應該都知道萬用字元的概念,windows下查詢乙個word文件你會搜尋 doc,那麼,就是乙個任意的字串,和萬用字元類似。正規表示式就和這有一些相似...