關於中序線索化二叉樹的問題,關於中序線索化二叉樹的問題

2021-03-04 04:30:33 字數 1428 閱讀 1521

1樓:倉獎淹酚

值所在的單抄元格區域。應襲

用舉例:如圖所示,在d單元

先序線索二叉樹某結點孩則左孩(沒右孩)其先序繼序前驅繼情況映象具體請見資料結構教材

序線索某結點右樹則右指標域存放右孩址線索其序繼卻其雙親結點注意二叉連結串列能雙親往效求解

二叉樹**索化後,仍不能有效求解的問題是中序線索二叉樹中求中序前趨嗎?

2樓:匿名使用者

前序遍歷(中左右)、中序遍歷

(左中右)的最後訪問的節點都是左或右葉節點專,葉節點是沒有子樹的屬,所以兩個指標域空出來了,可以存放線索指標。但是後續遍歷(左右中),最後訪問的子樹的根節點,子樹根節點的兩個指標域都指向子樹了,所以不能空出來存放線索資訊。

3樓:匿名使用者

我的書上答案是後序的後繼,中序的前驅可以求。但我不知道原因,查資料中。

4樓:匿名使用者

不能bai求解的有兩個,du一個先序線索zhi二叉樹中求先序前驅,另dao一個是後序線回索二叉樹求後序後繼答

因為先序按照根 左 右,找前驅只能在它的父節點上面找,因為它的左右孩子只能是它的後繼。

同理,後序按照左 右 根,找後繼只能在它的父節點上找。因為它的左右孩子只能是它的前驅。

目前我就見過問後者的題目。但按我理解,先序線索二叉樹求先序前驅和後者一樣道理,應該也是不能有效求解。

個人理解,錯了請糾正,勿罵!

急急急,,請教一個關於線索二叉樹的問題,,為什麼這段**沒能成功將其中序線索化??請高手指點。。。

5樓:匿名使用者

主要的問題在於你的xs()和visit()兩個函式的一些邏輯不正確,我改了一下,供專你參考:

中序線索化

h->lchild=bt;

h->rchild=null;

pre=h;

inorder(pre,bt);

printf("%c",pre->data);

pre->succ = h;

h->pred=pre;

}void visit(bitree h)}

畫出下圖二叉樹的中序線索二叉樹並轉化為森林,麻煩說一下解題過程

6樓:東風冷雪

中序線索二叉樹 先根,在左子樹,然後右子樹。

左線索指向前一個結點,左線索指向後一個結點。

中序遍歷 abcdefghi.

化成為森林,這個看一下書

7樓:ˉ海棠無香

上面那個答案說的是先序

資料結構中序和後序怎麼畫二叉樹

舉個例子 中序 dgbaechf 左根右後序 gdbehfca 左右根 版1 確定根 由後序得權 中序 dgb a echf 後序 gdb ehfc a 2 確定左節點 由上已知,左節點沒有有節點 3 確定右節點 中序 e c hf 後序 e hf c 確定整棵樹為 a b c d e f g h ...

先序和中序建立二叉樹,然後輸出後序遍歷,用C語言的

include include include 二叉樹資料結構定義 typedef struct binodebitnode,bitree 遞迴法建立二叉樹 void createbitree bitree bt else 遞迴法先序遍歷二叉樹 void preordertree bitree ro...

C語言二叉樹遞迴演算法怎麼做?什麼是二叉樹的遞迴?

include include struct treenode typedef treenode bitree void visit treenode node 結點總數。int node bitree t return node t left node t right 1 前序。void preo...