資料結構 樹的基礎知識01

2021-10-02 19:01:58 字數 1318 閱讀 8821

一、樹

1、什麼是樹?

樹(tree)是n(n≧0)個結點的有限集。n=0時稱為空樹。在任意一顆非空樹中:有且僅有乙個特定的稱為根的結點。當n>1時,

其餘結點可分為m(m>0)個互不相交的有限集t1、t2、t3……、tm,其中每個集合本身又是一棵樹,並且稱為根的子樹。

2、樹的基本概念看下面的圖:

3、定義樹的時候需要注意的兩點:

n>0時,根的節點是唯一的,不可能存在多個根結點。

m>0時,子樹的個數沒有限制,子樹一定是不相交的。

二、二叉樹

1、什麼是二叉樹(binary tree):二叉樹是n(n>=0)個結點的有限集合,該集合或者為空集(空二叉樹)、或者由乙個根結點和

兩顆互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。

2、特點:

二叉樹中每個結點最多有兩顆子樹,度沒有超過2的。

左子樹和右子樹是有順序的,不能顛倒。

如下圖:

3、二叉樹的形態:

(1)空二叉樹樹

(2)只有乙個根結點

(3)根結點只有左子樹

(4)根結點只有右子樹

(5)根結點既有右子樹又有右子樹

4、特殊二叉樹

(1)斜樹,如下圖

(2)滿二叉樹,如下圖

(3)完全二叉樹,如下圖

5、二叉樹的性質

(1)在二叉樹的第 i 層上最多有 2^(i-1) 個結點(i>=1)。

(2)深度為 k 的二叉樹最多有 (2^k)-1 個結點(k>=1)。《==等比數列求和計算可得。

(3)任意乙個二叉樹中,度為 0 的結點數比度為 2 的結點數 1。《==由不同度的結點提供的邊的個數可證。

(4)具有n個結點的完全二叉樹的深度為 」 log 2 n」+1

資料結構 樹的基礎知識

樹 tree 是n n 0 個結點的有限集。n 0又稱為空樹。在任意一課非空的樹中 1 有且僅有乙個特定的稱為跟 root 的結點 2 當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每乙個集合本身又是一棵樹,並且稱為根的子樹 subtree 1 子樹是不相交的。2 除根節點外,每個節...

資料結構基礎知識

時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...

資料結構基礎知識

一種資料的邏輯結根據需要可以表示成多種儲存結構,常用的儲存結構有順序儲存 鏈結儲存 索引儲存等,採用不同的資料結構,其資料處理的效率是不同的。線性表是一種常用的資料結構。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來使用的。線性表是一種線性結構。線性表有順序儲存結構和鏈式儲存結構...