二叉樹的儲存
一般樹的儲存連續儲存【完全二叉樹】
優點:查詢某個節點的父節點和子節點(也包括沒有資料的節點)
缺點 耗用記憶體空間過大
鏈式儲存
具體的轉換方法:雙親表示法
求父節點方便
孩子表示法
求子節點方便
雙親孩子表示法
求父節點子節點都方便
二叉樹表示法
把乙個普通樹轉換成二叉樹來儲存
森林的儲存設法保證任意乙個節點的
左指標域指向它的第乙個孩子
右指標域指向它的下乙個兄弟
只要能滿足此條件就能把普通樹轉換成二叉樹
乙個普通樹轉換成二叉樹一定沒有右子樹
先把森林轉換成二叉樹,再儲存二叉樹
操作
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的結點稱為葉結點或終端結點。度不...