給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。
輸入說明:
輸入僅一行,該行僅由『(』、『)』、『,』以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。
輸出說明:
在接下來的四行中依行輸出二叉樹的四種遍歷
輸入樣列:
a(b(d,),c(e,f(,h)))
輸出樣列:
abdcefh
dbaecfh
dbehfca
abcdefthab
#include
#include
#include
#include
#include
using namespace std;
#define n 100
typedef char element;
struct node
;typedef struct node btnode;
typedef struct node * btree;
btree create_btree(char s);
btree newnode(element x);
void pre_order(btree root);
void in_order(btree root);
void post_order(btree root);
void level_order(btree root);
int main()
btree newnode(element x)
btree create_btree(char s)
if(isalpha(s[i]))
} return path[0];
}void pre_order(btree root)
}void in_order(btree root)
}void post_order(btree root)
}void level_order(btree root)
while(front!=rear)
if(p‐>rchild!=null)
}}
二叉樹及其應用 二叉樹建立
給定二叉樹的資料型別如下 typedef char element struct node typedef struct node btnode typedef struct node btree 二叉樹建立i 完成btree create btree char s 函式,該函式由字串s建立一顆二叉...
二叉樹及其遍歷
滿二叉樹肯定是完全二叉樹,完全二叉樹不一定是滿二叉樹 二叉樹的遍歷 先序遍歷 也叫做先根遍歷 前序遍歷,首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹,如果二叉樹為空則返回。中序遍歷 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。...
二叉樹及其遍歷
二叉樹是乙個很重要的儲存結構,所以和大家分享一下我對二叉樹的理解並結合 希望讓大家都能對二叉樹有乙個最清晰的認識 首先,二叉樹是每個節點最多有兩個子樹的樹結構,這是二叉樹的定義,二叉樹的結構如下圖 可以看到二叉樹必要的是根節點,也就是a,每個節點都會有左子節點和右子節點,那麼從b開始看,它又是乙個二...