關於二叉樹的一些簡單理解

2021-09-29 17:40:32 字數 639 閱讀 4286

二叉樹為非線性資料結構

可以用鍊錶或者陣列來表示

鍊錶     data:本節點資料    left:左子節點     right:右子節點

陣列         1

2       3

4  5        7

放到陣列裡可表示為  1 2 3 4 5  7  (中間空一位,因為3沒有左子節點)

若每乙個子葉都有結構   叫滿二叉樹

若節點下標   與陣列表示下標相吻合   則可稱為 完全二叉樹 

關於二叉樹的遍歷  可分為深度與廣度兩種

深度遍歷:   前序遍歷   中序遍歷    後序遍歷

(個人理解   乙個根節點   兩個子節點     1,2,3     

屬於哪個排序 主要看根節點 1 的放置位置

前序排序:123

中序排序:213

後序排序:231

深度遍歷可用鏈式資料結構   遞迴完成   也可以用棧的資料結構來完成

廣度遍歷: 層序遍歷

按照樹形結構每一層的左到右的順序 排序

可用佇列的結構來完成

queue    add/offer     remove/poll      都是佇列的增加刪除方法   不同的是 前者會丟擲異常   後者返回空值

二叉樹的一些簡單演算法(一)

二叉樹的一些簡單演算法 一 由於最近資料結構學到了樹的這一章節,而二叉樹的演算法一直被各大公司視為必考內容,因此,身為小菜菜的我也決定寫幾篇關於二叉樹的演算法 這次我簡單的寫一下二叉樹的建立和遍歷演算法 include using namespace std typedef char t class...

關於二叉樹的一些問題

tips 關於二叉樹的絕大多數問題都可以用遞迴方法來實現,dfs。一位二叉樹根節點去掉之後又分為兩個子樹,對於子樹本身也可以看左二叉樹來處理。所以遞迴可以說很好用了 二叉樹的建立 public class bittree public bittree int data public static b...

二叉樹的一些概念

1 滿二叉樹 樹內的任何結點,或為樹葉 圖1中2689 或有兩個非空子樹。滿二叉樹定理 非空滿二叉樹樹葉的數目等於其分支結點數目加1。此外,乙個二叉樹第i層 根節點為0層 最多能有2的i次方個結點。圖12 平衡二叉樹 如果樹中任何結點的兩個子樹高度差是0或者1。對於圖1來說結點1左子樹高度為1,右子...