c語言 中序加後序確立一顆二叉樹 包含測試用例

2021-10-04 11:48:48 字數 966 閱讀 2164

學資料結構不寫**的孩子,不是好孩子!

在建立樹的過程中,並用先序把樹遍歷了一遍,因此只用了兩個函式。我知道會有不少人問,如何找尋根節點,其實想啊,中序遍歷加後序遍歷,其中後序遍歷最後遍歷根節點,那麼根據這一特性就可以取出根節點咯!

中序遍歷輸入:

cdebahgijf

後序遍歷輸入:

cedbhjigfa

//中序+後序遍歷確立一棵樹

#include

#include

#include

typedef

char telemtype;

typedef

struct bitnode

bitnode,

*bitree;

//建造樹並遍歷進行驗證.

void

binarytreefromorderings

(char

*mid,

char

*last,

int len)

bitree node =

(bitree)

malloc

(sizeof

(bitnode));

node-

>data = last[len-1]

;int rootindex =0;

for(

;rootindex)printf

("%c"

,node-

>data)

;binarytreefromorderings

(mid,last,rootindex)

;binarytreefromorderings

(mid+rootindex+

1,last+rootindex,len-

(rootindex+1)

);return;}

intmain()

複製一顆二叉樹(java語言

createtree int treelength 是複製二叉樹的方法 複製一顆二叉樹,首先先構造一顆新的樹 return 返回值 public binarytree createtree int treelength binarytree的構造方法 利用空子樹先根序列推出根節點 param pre...

程式設計練習之一顆二叉樹包含另一顆二叉樹

劍指offer上的一道程式設計練習,如何確定二叉樹a包含一棵相對小一點的二叉樹b?思路 用兩個函式實現,第乙個首先判斷根結點是否相等,第二個函式繼續判斷子結構是否相等 函式一 第一步,首先從根結點入手,判斷proota的值是否與prootb的根結點的值是否相等。若相等,則在比較a樹的子結構是否包含b...

筆試題 層序輸入一顆二叉樹

在某一棵二叉樹中找出和為某一值的所有路徑 輸入格式 第一行 期望值 第二行 按照層序遍歷順序給出的完全二叉樹,若空用 表示 輸入 6 3 1 4 1 1 輸出 6 3 6 1 1 1 define crt secure no warings include include include inclu...