1. 程式人生 > 實用技巧 >浙江大學資料結構第三講 樹(上)

浙江大學資料結構第三講 樹(上)

本文是浙江大學mooc課程資料結構的相關整理與筆記。

課程原地址如下:https://www.icourse163.org/learn/ZJU-93001?tid=1459700443#/learn/content?type=detail&id=1235254042

1 樹與樹的表示

分層次組織在管理上具有更高的效率。

順序查詢演算法的時間複雜度為O(n)。

二分查詢(Binary Search)

ASL:平均成功查詢次數。

樹的定義

一棵N個結點的樹有N-1條邊:除根節點外每個結點都有一條向上的邊。

樹是保證結點連通的最小的連線方式。

k條邊是因為除根節點之外的每個點都有一條向上的邊,加上無向上的邊的根結點數(m)就是森林的結點總數。

若樹有n個結點,若採用A結點的表示與定義方法,則每個結點會有3個指標域,那整棵樹就會有3n個指標域。但實際上,樹的邊只有(n-1)條,這樣會造成空間的浪費。

2 二叉樹及儲存結構

度為2的樹的子樹沒有左右順序之分。

邊的總數:n0+n2+n1-1=0*n0+1*n1+2*n2

該等式得到:n0=n2+1

樹的深度為d,且二叉樹只有度為0和2的結點,即若一個結點有子結點,則它一定只有兩個子結點。每層的結點數至少為2。第一層只有1個結點,所以結點總數為2d-1。