1樓:網友
void postorder(node* bt ) 後序遍歷二叉樹*/
if(bt==null) return;
postorder(bt->lchild);
postorder(bt->rchild);
printf("%c",bt->data);
這是遞迴演算法,還有非遞迴演算法,不懂再問我。
2樓:caichao蔡超
仔細觀察 中序 前序 後序 之間的關係,他們是有個關係的 仔細看看你就明白了。
3樓:網友
有乙個演算法的……用遞迴來實現。
資料結構二叉樹前序、中序、後續?
4樓:網友
第一處劃線:
子樹中序遍歷為4 7 2,前序遍歷為2 4 7因為前序遍歷為根左右,可以確定其根節點為2但後續4 7可能是一左一右,也可能都是左或都是右,還要結合中序遍歷來看。
因為中序遍歷為左根右,根節點已經確定為2,那麼其左邊的4 7都是左子樹。
因此兩者綜合後可知根節點2的左子樹為4 7,沒有右子樹。
如果按你說的是根2左4右7,那麼其中序遍歷應為4 2 7而不是4 7 2
第二處劃線:
子樹中序遍歷為4 7,前序遍歷為4 7
根據前序遍歷根左右可知其根節點為4,但後面的7並不能確定是左還是右。
又由於中序遍歷左根右為4 7,可知7為根節點4的右子樹。
因此該子樹根節點為4,無左子樹,右子樹為7如果按你說的左為7,那麼其中序遍歷應為7 4而不是4 7第三處劃線:
子樹中序遍歷為8 6,前序遍歷為6 8
根據前序遍歷根左右可知其根節點為6,但後面的8並不能確定是左還是右。
又由於中序遍歷左根右為8 6,可知8為根節點6的左子樹。
因此該子樹根節點為6,左子樹為8,無右子樹。
如果按你說的右為8,那麼其中序遍歷應為6 8而不是8 6總之先通過前序遍歷可以確定根節點,再通過中序遍歷才能確定左右子樹。
一定要兩者結合才能得到二叉樹的完整結構,不能只看其中之一。
碼字不易,望~
根據二叉樹的前序序列和中序序列構造二叉樹,具體演算法怎麼寫
5樓:網友
如果前序序列和中序序列都為空,那麼構造一棵空樹。否則1、根據前序可確定根。
2、根據根和中序,可以確定左子樹集合和右子樹集合,並得到左子樹中序序列和右子樹中序序列。
3、在前序序列中劃分出左子樹前序序列和右子樹前序序列。
4、根據左子樹前序序列和左子樹中序序列構造左子樹。
5、根據右子樹前序序列和右子樹中序序列構造右子樹。
演算法結束。
已知二叉樹的中序序列和後序序列,怎麼求前序序列?
6樓:假面
確定樹的來根。樹根是當源前樹中所有元素在後序遍歷中最後出現的元素。
求解樹的子樹。找出根節點在中序遍歷中的位置,根左邊的所有元素就是左子樹,根右邊的所有元素就是右子樹。若根節點左邊或右邊為空,則該方向子樹為空;若根節點左邊和右邊都為空,則根節點已經為葉子節點。
遞迴求解樹。將左子樹和右子樹分別看成一棵二叉樹,重複步,直到所有的節點完成定位。
一棵深度為k,且有2^k-1個結點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的結點數都是最大結點數。而在一棵二叉樹中,除最後一層外,若其餘層都是滿的,並且或者最後一層是滿的,或者是在右邊缺少連續若干結點。
7樓:無傷_凱子
一、前序遍歷:訪問根結點的操作發生在遍歷其左右子樹之前。
二、中序遍歷:訪問根結點的操作發生在遍歷其左右子樹之中(間)。
三、後序遍歷:訪問根結點的操作發生在遍歷其左右子樹之後。
例如:後序遍歷為dbcefgha,中序遍歷為edcbahfg,求前序遍歷。
1、看後序遍歷dbcefgha,a為總根節點。
2、尋找中序遍歷edcbahfg中a位置,則edcb在a的左枝,hfg在a的右枝;
3、 重複前兩步,從後序遍歷最後一位找,在中序遍歷尋找對應點,得出左右分枝。
4、 最後得到aecdbhgf,在電腦科學中,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作「左子樹」(left subtree)和「右子樹」(right subtree)。二叉樹常被用於實現二叉查詢樹和二叉堆。
二叉樹的每個結點至多隻有二棵子樹(不存在度大於2的結點),二叉樹的子樹有左右之分,次序不能顛倒。二叉樹的第i層至多有2^個結點;深度為k的二叉樹至多有2^k-1個結點;對任何一棵二叉樹t,如果其終端結點數為n_0,度為2的結點數為n_2,則n_0=n_2+1。
一棵深度為k,且有2^k-1個節點的二叉樹,稱為滿二叉樹。這種樹的特點是每一層上的節點數都是最大節點數。而在一棵二叉樹中,除最後一層外,若其餘層都是滿的,並且最後一層或者是滿的,或者是在右邊缺少連續若干節點,則此二叉樹為完全二叉樹。
具有n個節點的完全二叉樹的深度為log2n+1。深度為k的完全二叉樹,至少有2^(k-1)個節點,至多有2^k-1個節點。
資料結構樹和二叉樹的一些問題,資料結構二叉樹問題
我以前學的就是這個 但是有點忘記 我把我理解的答案寫給你吧第1個應該是b 第2個n 1個吧 第3個忘記了 上面有人說d 你可以參考下 第4個好象是二叉樹的定義吧 書上應該有的 第5或第6 應該都是c 因為每個二叉樹都有一個空的鏈域第 第7個 是c 第8個 b 應該不對 因為哈夫曼樹的公式是2分之 n...
資料結構線索二叉樹怎麼畫,後序線索二叉樹怎麼畫啊
1 首先第來 一步若節源點右左子樹,則左鏈域lchild指示其左孩子 ltag 0 否則,令左鏈域指示其前驅 ltag 1 若結點有右子樹,則右鏈域rchild指示其右孩子 rtag 0 否則,令右鏈域指示其後繼 rtag 1 3 最後幾是結點p的左指標域為空,則將其標誌位置為1,並使p lchil...
關於資料結構的同構二叉樹的問題
你是uestc的?ycsxm的演算法基本正確。應該注意的是節點為空的情況。判斷同構 bool iso bt a,bt b 遞迴判斷同構 c語言 資料結構 判別兩個二叉樹同構 編譯error id returned 1 exit status,貼在下面了,求解答 20 你這個 的問題主要就是build...