給定二叉樹的資料型別如下
typedef
char element;
struct node
;typedef
struct node btnode;
typedef
struct node * btree;
二叉樹建立i
完成btree create_btree(char s)函式,該函式由字串s建立一顆二叉樹,其中字串s是僅由』(『,』)』,』,』以及大小寫字元構成的二叉樹的廣義表表示,如a(b(d,),c(e,f(,h))),字串s以』\0』結尾。
btree newnode(element x)
btree create_btree(char s)
if(isalpha(s[i]))
} return path[0];
}
二叉樹建立ii
完成btree create_btree(char s,int left,int right)函式,該函式由字串s(從s[left]到s[right])建立一顆二叉樹,其中字串s是僅由『(』、『)』、『,』以及大小寫字元構成的二叉樹的廣義表表示,如a(b(d,),c(e,f(,h))),字串s以』\0』結尾。
int find(char s,int
left,int
right)
return left;
}btree newnode(element x)
btree create_btree(char s,int
left,int
right)
二叉樹建立iii
給出二叉樹的先序遍歷輸出(空結點用』.』)表示,請構造二叉樹,並按中序遍歷的順序輸出二叉樹的結點。
輸入說明:
一行僅由『.』與大小寫字元構成的字串,該字串表示二叉樹的前序遍歷輸出,其中』.』表示空結點,字串長度不超過100。
輸出說明:
在單獨一行中按中序遍歷的順序輸出二叉樹的結點,空結點不輸出。
輸入樣列:
abd…c..
輸出樣列:
dbac
#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();
btree newnode(element x);
void pre_order(btree root);
int main()
btree newnode(element x)
btree create_btree()
void pre_order(btree root)
}
二叉樹及其應用 二叉樹遍歷
給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...
二叉樹及其應用
實驗內容 假設自上而下按層次,自左至右輸入每個結點的乙個三元組 n,p,l r 其中n為本結點的元素,p為其父結點,l指示n為p 的左孩子,r指示n為p的右孩子。試寫乙個建立二元樹在記憶體的雙鏈表示演算法,並實現先根 中根 後根以及層序遍歷演算法。樣例輸出 二選一 a 1 1 balgar cbld...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...