二叉樹及其應用 二叉樹建立

2021-07-14 03:12:52 字數 1820 閱讀 4135

給定二叉樹的資料型別如下

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的所在子樹...