學資料結構不寫**的孩子,不是好孩子!
在建立樹的過程中,並用先序把樹遍歷了一遍,因此只用了兩個函式。我知道會有不少人問,如何找尋根節點,其實想啊,中序遍歷加後序遍歷,其中後序遍歷最後遍歷根節點,那麼根據這一特性就可以取出根節點咯!
中序遍歷輸入:
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...