在之前做二級的題的時候,偶爾會碰見二叉樹,很自然的就想起了樹,那麼什麼是樹呢?這裡說的可不是外面的參天大樹,而是有實際概念的樹,下面就來介紹一下樹。
樹是由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,那麼,就是乙個任意的字串,和萬用字元類似。正規表示式就和這有一些相似...