樹的基礎知識

2021-10-03 01:21:23 字數 1020 閱讀 5595

二叉樹的儲存

連續儲存【完全二叉樹】

優點:查詢某個節點的父節點和子節點(也包括沒有資料的節點)

缺點 耗用記憶體空間過大

鏈式儲存

一般樹的儲存

雙親表示法

求父節點方便

孩子表示法

求子節點方便

雙親孩子表示法

求父節點子節點都方便

二叉樹表示法

把乙個普通樹轉換成二叉樹來儲存

具體的轉換方法:

設法保證任意乙個節點的

左指標域指向它的第乙個孩子

右指標域指向它的下乙個兄弟

只要能滿足此條件就能把普通樹轉換成二叉樹

乙個普通樹轉換成二叉樹一定沒有右子樹

森林的儲存

先把森林轉換成二叉樹,再儲存二叉樹
操作

遍歷

先序遍歷

先訪問根節點

再先序訪問左子樹

再先序訪問右子樹

中序遍歷

中序遍歷左子樹

再訪問根節點

再中序遍歷右子樹

後續遍歷

後序遍歷左子樹

後續遍歷右子樹

再訪問根節點

已知兩種遍歷序列求原始二叉樹

只有通過 先序和中序 或者 中序和後序 才可以唯一確定乙個二叉樹

1.已知先序和中序求後續

示例:先序:abcdefgh

中序:bdceafhg

求後序:decbhgfa

示例:先序:abdghcefi

中序:gdhbaecif

2.已知中序和後序求先序(根據後序找根節點)

應用

樹是資料庫中資料組一種重要形式織

作業系統子父程序的關係本身就是一棵樹

物件導向語言的繼承關係本身就是乙個樹

赫夫曼樹

樹基礎知識

陣列儲存方式的分析 優點 通過下標方式訪問元素,速度快。對於有序陣列,還可使用二分查詢提高檢索速度。缺點 如果要檢索具體某個值,或者插入值 按一定順序 會整體移動,效率較低 示意圖 畫出操作示意圖 2.鏈式儲存方式的分析 優點 在一定程度上對陣列儲存方式有優化 比如 插入乙個數值節點,只需要將插入節...

樹的基礎知識

樹 樹定義專業定義 1 有且只有乙個稱為根的節點 2 有若干個互不相交的子樹,這些子樹本身也是一棵樹 通俗定義 1 樹是由節點和邊組成 2 每個節點只有乙個父節點但可以有多個子節點 3 但有乙個節點例外,該節點沒有根節點,此節點稱為根節點 專業術語 節點父節點子節點 子孫堂兄弟 深度 從根節點到最底...

樹的基礎知識總結

一 樹的定義 1.樹 tree 是n n 0 個結點的有限集。n 0時稱為空樹,在任何一棵非空樹中,有且僅有乙個根結點,當n 1時,其餘結點可分為m個互不相交的有限集,其中每乙個集合本身又是一棵樹,並稱為根的子樹。2 結點的分類 結點擁有的子樹個數稱為結點的度。度為0的結點稱為葉結點或終端結點。度不...