二叉樹的前序序列 中序序列 後序序列 層次序列

2021-10-24 22:59:04 字數 741 閱讀 2482

前序序列=根 左子樹 右子樹,中序序列=左子樹 根 右子樹,後序序列=左子樹 右子樹 根,層次序列=根 第二層從左到右 第三層從左到右 以此類推。中序序列又稱為對稱序列。

前序序列第乙個節點為根節點,後序序列最後乙個節點為根節點,再在中序序列中找到根節點,中序序列中根節點左邊的為左子樹,右邊的為右子樹。以中序序列左子樹節點序列為新的左子串行,在前序序列或者後序序列中找到左子串行的父節點,再回到左子串行劃分左右序列,依次類推,最終畫出左子樹。右子樹同理。

例題:前序序列為adfghklpqrwz,中序序列為gfhkdlawrqpz,畫出二叉樹,並求後序序列和層次序列。

由前序序列知,a為根節點,在中序序列中找到a,左邊gfhkdl為左子樹中序序列,右邊wrqpz為右子樹中序序列。所以,在前序序列中,dfghkl為左子樹前序序列,pqrwz為右子樹前序序列。

左子樹,由左子樹前序序列dfghkl知,d為父節點,回到左子樹中序序列gfhkdl找到d,左邊中序序列gfhk為d的左孩子,右邊l為d的右孩子。回到左子樹前序序列dfghkl知,左邊中序序列gfhk中f節點為下乙個父節點,g為f的左孩子,hk為f的右孩子。右邊,l為右節點沒有孩子。hk在前序序列知,h在前,h是k的父節點,k是h的右孩子。由此,可畫出左子樹。右子樹同理。

二叉樹為:

後序序列為:gkhfldwrqzpa

層次序列為:adpflqzghrkw

二叉樹 先序序列 中序序列 後序序列

已知二叉樹的先序遍歷序列和中序遍歷序列,求後序遍歷序列。先遞迴構造二叉樹,然後遞迴得到後序序列。思路 先序序列的第乙個結點為要構造二叉樹的根結點,在中序序列中查詢二叉樹的根結點,則中序列根結點左邊為根結點的左子樹的中序序列,右邊為根結點的右子樹的中序序列。而先序序列根結點後面分別為它的左子樹和右子樹...

二叉樹知道前序 中序求後序序列

思路 根據前序性質,每一顆子樹的前序第乙個節點永遠是其根節點 後序也有類似性質,所以知道後序中序求前序是乙個道理 根據中序性質,在中序序列中,某節點之前的節點全在其左邊,反之在其右邊。那麼我們在前序序列中找到當前樹根節點時,再在中序序列中找到樹根節點的位置,那麼知道中序序列中,在根節點以前的節點都是...

演算法之二叉樹中序前序序列 或後序 求解樹

這種題一般有二種形式,共同點是都已知中序序列。如果沒有中序序列,是無法唯一確定一棵樹的。1 已知二叉樹的前序序列和中序序列,求解樹。1 確定樹的根節點。樹根是當前樹中所有元素在前序遍歷中最先出現的元素。2 求解樹的子樹。找出根節點在中序遍歷中的位置,根左邊的所有元素就是左子樹,根右邊的所有元素就是右...