簡要概括二叉樹遍歷方法

2021-10-09 05:48:30 字數 691 閱讀 4383

二叉樹遍歷方法有三種

規則:所訪問的順序

前序遍歷:根左右

中序遍歷:左根右

後序遍歷:左右根

(簡記:前中後指的是根的位置 比如後序遍歷,則根在其左、右子樹的後面,就是最後訪問根)

(網上找的)

比如說後序遍歷: 規則是左右根

由圖看出,首先a是根,b、c是它的左右子樹,

根據規則,先訪問的是左子樹b(此時因為b子樹也有其自己的左右子樹),

所以此時把b看為乙個根節點,b的左右子樹為d、e,(因d、e是葉子)

所以根據左右根規則,得出 d e b;(a的左子樹遍歷完成)

a的右子樹開始遍歷:

訪問c,c此時看為乙個根節點,c有左子樹(暫不返回,繼續往下訪問),

訪問f,f看為根節點,無左子樹有右子樹,g為葉子(根據左右根規則)

返回 g f ,c因為沒有右子樹,返回c,得到 g f c;(右子樹遍歷完成)

最後返回a。

得到 deb(左) gfc(右) a(根)

所以 訪問順序是 debgfca。

同理,中序、前序遍歷也可以做出來

前序遍歷:abdecfg

中序遍歷:dbeafgc

二叉樹遍歷方法

二叉樹簡介 二叉樹是每個節點最多有兩個子樹的樹結構。通常被稱作左子樹 left subtree 和右子樹 right subtree 二叉樹常被用於實現二叉查詢樹二叉堆。二叉樹 深度為k 並且有2 k 1個節點的二叉樹稱為滿二叉樹。這種樹的特點是每一層的節點數都是最大節點數。而且在一棵二叉樹中,除最...

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

二叉樹的遍歷方法

二叉樹的遍歷有三種方式,如下 1 前序遍歷 dlr 首先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。簡記根 左 右。2 中序遍歷 ldr 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。簡記左 根 右。3 後序遍歷 lrd 首先遍歷左子樹,然後遍歷右子樹,最後訪問根結點。簡記左 右 根。例1 如上圖...