二叉樹深度優先遍歷

2021-10-25 18:54:17 字數 706 閱讀 4659

在二叉樹的深度優先遍歷中分為前序遍歷、中序遍歷和後序遍歷,其中根據前序遍歷和中序遍歷或後序遍歷和中序遍歷可以推算出完整的二叉樹。

三種遍歷方式為:

前序遍歷:根節點->左子樹->右子樹

中序遍歷:左子樹->根節點->右子樹

後序遍歷:左子樹->右子樹->根節點

由上述三種遍歷方式可知中序遍歷最為重要,因為中序遍歷可以確定哪些節點在根節點的左側,哪些節點在根節點的右側。

首先根據前序或後序遍歷找到根節點,然後根據中序遍歷將其他節點分配到根節點兩側,以此方式使用遞迴的方式可以推算出完整的二叉樹。

例題:已知某二叉樹的先序遍歷序列為abcdef、中序遍歷序列為badcfe,則可以確定();

此處不管要考什麼問題,肯定都要推出正確的二叉樹才行,根據上述解析,在先序序列中可知a為根節點,根據中序序列可知b在a的左子樹上,dcfe在a的右子樹上。將dcfe拿出與abcdef對比可知c為dcfe中的根節點,即c為a的右子節點,同時可知d在c的左子樹上,fe在c的右子樹上。重複上述推理,最後得出改二叉樹為:

該題選項為

a.是單支樹(即非葉子節點都只有乙個孩子)

b.高度為4(即節點分布在4層上)

c.根節點的左子樹為空

d.根節點的右子樹為空

綜上所述選b

深度優先遍歷二叉樹

3 深度優先遍歷二叉樹。include include include typedef struct treenode 樹節點結構體定義 treenode insertsbonmyleft treenode sb treenode insertsbonmyright treenode sb char...

二叉樹的深度優先遍歷

歡迎指正 今天繼續樹的遍歷。這裡要說的是 二叉樹的 深度優先遍歷。深度優先遍歷 從根結點開始,先遍歷根的左子樹,再遍歷根右子樹。以此類推輸出結果。如下圖 深度優先結果 5 3 1 4 7 9 分析 1 先將5入棧,此時棧中只有5乙個元素。2 將佔棧中的5彈棧,在將其右孩子7壓棧,此時棧中只有7乙個元...

二叉樹的深度優先遍歷和廣度優先遍歷

深度優先搜尋演算法 depth first search 是搜尋演算法的一種。是沿著樹的深度遍歷樹的節點,盡可能深的搜尋樹的分支。當節點v的所有邊都己被探尋過,搜尋將回溯到發現節點v的那條邊的起始節點。這一過程一直進行到已發現從源節點可達的所有節點為止。如果還存在未被發現的節點,則選擇其中乙個作為源...