找某P結點中序線索二叉樹在前序下的後繼結點

2021-08-06 01:17:39 字數 783 閱讀 5940

1樓:惲詠魚彭

分別寫函式完成:在先序線索二叉樹t中,查詢給定結點*p在先序序列中的後繼。在後序線索二叉樹t中,查詢給定結點*p在後序序列中的前驅。

建立中序線索二叉樹,並且中序遍歷; 2. 求中序線索二叉樹上已知結點中序的前驅和後繼

寫出中序線索二叉樹中找指定節點在後序下的前驅結點的演算法

2樓:

.[題目分析]在後序序列中,若結點p有右子女,則右子女是其前驅,若無右子女而有左子女,則左子女是其前驅。若結點p左右子女均無,設其中序左線索指向某祖先結點f(p是f右子樹中按中序遍歷的第乙個結點),若f有左子女,則其左子女是結點p在後序下的前驅;若f無左子女,則順其前驅找雙親的雙親,一直繼續到雙親有左子女(這時左子女是p的前驅)。還有一種情況,若p是中序遍歷的第乙個結點,結點p在中序和後序下均無前驅。

bithrtree inpostpre (bithrtree t,p)

//在中序線索二叉樹t中,求指定結點p在後序下的前驅結點qreturn(q); }//結束inpostpre

後序後繼線索二叉樹中找後繼的集中情況?

3樓:

在後序線索二叉樹中查詢結點*p的後繼:若結點*p為根,則無後繼;若結點*p為其雙親的右孩子,則其後繼為其雙親;若結點*p為其雙親的左孩子,且雙親無右子女,則其後繼為其雙親;若結點*p為其雙親的左孩子,且雙親有右子女,則結點*p的後繼是其雙親的右子樹中按後序遍歷的第乙個結點。

某二叉樹的前序遍歷是abdgcefh,中序遍歷是dgbaechf,則起後序遍歷的結點訪問順序是什麼,為什麼

不太記得了,應該是 g d b a e h f c 二叉樹的3中遍歷,知道任何其中2種,就可以建立這個二叉樹。自然就可以得到第3中的遍歷了。具體方法可以翻書或網上查詢相關資料。前序是 根左右 由此可判斷a為根節點,再看中序 由於a為根,所以在中序中根據 左根右 原則a前的即為a的左子樹 dgb 右邊...

先序線索二叉樹和中序線索二叉樹有什麼區別

先序是先根節點在左結點再右結點,中序是先左,再根節點,再右結點 給定如圖所示二叉樹t,請畫出與其對應的中序線索二叉樹。15 根據中順遍歷方法 先範訪問左子樹 結點 右子樹 中序遍歷 55 40 25 60 28 08 33 54 如圖 滿意的話 記得給分哦 線索二叉樹 我先說一說 每個 節點 那 五...

先序線索二叉樹的遍歷,後序線索二叉樹怎麼畫啊

include include typedef enum pointertag 指標標誌 typedef char datatype typedef struct bithretreebithretree bithretree pre 全域性變數,用於二叉樹的線索化 bithretree creat...