資料結構筆記 第五章

2021-10-01 05:18:40 字數 1250 閱讀 3601

樹的定義是採用遞迴方法

孩子、雙親:樹中某結點子樹的根結點稱為這個結點的孩子結點,這個結點稱為它孩子結點的雙親結點;

兄弟:具有同乙個雙親的孩子結點互稱為兄弟。

路徑:如果樹的結點序列n1, n2, …, nk有如下關係:結點ni是ni+1的雙親(1<=idestroytree

前置條件:樹已存在

輸入:無

功能:銷毀一棵樹

輸出:無

後置條件:釋放該樹占用的儲存空間

root

前置條件:樹已存在

輸入:無

功能:求樹的根結點

輸出:樹的根結點的資訊

後置條件:樹保持不變

parent

前置條件:樹已存在

輸入:結點x

功能:求結點x的雙親

輸出:結點x的雙親的資訊

後置條件:樹保持不變

depth

前置條件:樹已存在

輸入:無

功能:求樹的深度

輸出:樹的深度

後置條件:樹保持不變

preorder

前置條件:樹已存在

輸入:無

功能:前序遍歷樹

輸出:樹的前序遍歷序列

後置條件:樹保持不變

postorder

前置條件:樹已存在

輸入:無

功能:後序遍歷樹

輸出:樹的後序遍歷序列

後置條件:樹保持不變

endadt

樹的前序遍歷

若樹為空,不進行遍歷;否則

⑴ 訪問根結點;

⑵ 按照從左到右的順序前序遍歷根結點的每一棵子樹。

樹的後序遍歷

若樹為空,則遍歷結束;否則

⑴ 按照從左到右的順序後序遍歷根結點的每一棵子樹;

⑵ 訪問根結點。

樹的層序遍歷

從樹的第一層(即根結點)開始,自上而下逐層遍歷,在同一層中,按從左到右的順序對結點逐個訪問。

雙親表示法

用一維陣列來儲存樹的各個結點(一般按層序儲存),

陣列中的乙個元素對應樹中的乙個結點,

每個結點記錄兩類資訊:結點的資料資訊以及該結點的雙親在陣列中的下標。

孩子表示法

把每個結點的孩子排列起來,看成是乙個線性表,且以單鏈表儲存,則n個結點共有 n 個孩子鍊錶。

資料結構筆記 第五章

一.樹的邏輯結構 樹是乙個有限的集合,集合中的元素稱為結點。1 結點的個數為0 稱為空樹。2 結點的個數為1 此節點稱為根節點。3 節點的個數大於1 則除了根結點以外的結點又可分為多個集合,每乙個集合本身其實質上也是一棵樹,並且是根節點的子樹。二.二叉樹的邏輯結構 1 二叉樹的定義 二叉樹首先必須是...

資料結構筆記 第五章

雙親表示法 基本思想 用一維陣列來儲存樹的各個結點 一般 按層序儲存 陣列中的乙個元素對應樹中的乙個 結點,包括結點的資料資訊以及該結點的雙親在數 組中的下標 森林轉換為二叉樹 將森林中的每棵樹轉換成二叉樹 從第二棵二叉樹開始,依次把後一棵二叉樹的根 結點作為前一棵二叉樹根結點的右孩子,當所有二 叉...

資料結構(第五章)

樹下 第一講一.堆 什麼是堆?在講堆之前,我們先看看什麼是優先佇列。優先佇列 是一種特殊的佇列,從名稱上看,優先,顧名思義,取出的元素是按照一定的優先順序出隊的,而不是元素進入佇列的先後順序。優先佇列的完全二叉樹表示 堆的兩個特性 結構性 用陣列表示的完全二叉樹。有序性 任一結點的關鍵字是其子樹所有...