树的预备知识
【0】README
0.1) 本文總結于 數據結構與算法分析,旨在整理出 樹的相關術語和概念(哥子始終記不住樹的高度和深度,記著記著就混淆了,哎,所以分享出來);
【1】樹相關
1.1)定義樹的一種自然方式是遞歸的方法;
1.2)樹定義:一棵樹是一些節點的集合, 這個集合可以是空集;若非空, 則一棵樹由稱作 根(root)的節點r 以及0個或多個非空的子樹組成;(樹中還有樹, 這本就是一個遞歸的定義)
1.3)兒子+父親:一個子樹的根 叫做 根r 的 兒子, 而r 是每一顆子樹的根的 父親;
1.4)樹的性質:
- 1.4.1)樹的根結點沒有前驅結點,除根結點之外的所有結點有且只有一個前驅結點;
- 1.4.2)樹中所有結點可以有零個或多個后繼結點;
【2】下面理一理樹中各種元素概念:
2.1)樹葉:沒有兒子的節點;
2.2)兄弟:具有相同父親的節點;
2.3)路徑:它是 從節點n1 到 nk 的路徑定義為 節點n1、n2、……、nk 的一個序列, 使得 ni 是 n(i+1) 的父親;
2.4)路徑長度: 路徑的長就是該路徑上的邊的條數;
2.5)節點ni 的深度: 根 到 ni 的唯一的路徑長度;
2.6)節點ni 的高度: ni 到 葉子節點 的最長的路徑長度;
2.7)祖先+后裔:如果存在 n1 到 n2 的一條路徑,那么 n1 是 n2 的一位祖先,而 n2 是 n1 的一個后裔;
【3】樹的實現
Attention)兒子兄弟表示法
如下圖所示:向下的箭頭(左指針)指向第一個兒子節點, 從左到右的箭頭(右指針)指向下一個兄弟節點;(間接說明了樹的節點有兩個指針)
樹節點定義代碼如下:
總結
- 上一篇: 马良怎么死的 马良的死因
- 下一篇: 弃之可惜的上一句 这句话出自哪里