二叉樹 遍歷,葉子數,深度問題

2021-08-31 09:47:21 字數 2756 閱讀 5701

1.sdut 3341 遍歷二叉樹

/*

problem description

已知二叉樹的先序遍歷字串行,如abc,,de,g,,f,,, (其中,表示空結點)。請建立二叉樹並按中序和後序的方式遍歷該二叉樹。

input

連續輸入多組資料,每組資料輸入乙個長度小於50個字元的字串。

output

每組輸入資料對應輸出2行:第1行輸出中序遍歷序列;第2行輸出後序遍歷序列。

sample input

abc,,de,g,,f,,,

sample output

cbegdfa

cgefdba 

*/#include #include typedef struct no

node;

int l;

node *creat(char a)

void mid(node *root) }

void after(node *root)

}int main()

return 0;

}

2.sdut 3342 資料結構實驗之二叉樹三:統計葉子數

/*

problem description

已知二叉樹先序遍歷的字串行,如abc,,de,g,,f,,, (其中,表示空結點)。請建立二叉樹並求二叉樹的葉子結點個數。

input

連續輸入多組資料,每組資料輸入乙個長度小於50個字元的字串。

output

輸出二叉樹的葉子結點個數。

sample input

abc,,de,g,,f,,,

sample output3*/

#include #include typedef struct no

node;

int l;

node *creat(char a)

int cnt;

void ye(node *root)

}}int main()

return 0;

}

3.資料結構實驗之二叉樹八:(中序後序)求二叉樹的深度

/*

problem description

已知一顆二叉樹的中序遍歷序列和後序遍歷序列,求二叉樹的深度。

input

輸入資料有多組,輸入t,代表有t組資料。每組資料報括兩個長度小於50的字串,第乙個字串表示二叉樹的中序遍歷,第二個表示二叉樹的後序遍歷。

output

輸出二叉樹的深度。

sample input

2dbgeafc

dgebfca

lnixu

linux

sample output43

*/#include #include #include typedef struct no

node;

int max;

node *creat(int len,char mid,char end)

void deep(node *root,int c)

}int main()

return 0;

}

4.資料結構實驗之二叉樹七:葉子問題

/*

problem description

已知乙個按先序輸入的字串行,如abd,,eg,,,cf,,,(其中,表示空結點)。請建立該二叉樹並按從上到下從左到右的順序輸出該二叉樹的所有葉子結點。

input

輸入資料有多行,每一行是乙個長度小於50個字元的字串。

output

按從上到下從左到右的順序輸出二叉樹的葉子結點。

sample input

abd,,eg,,,cf,,,

xnl,,i,,u,,

sample output

dfguli

*/#include #include typedef struct no

node;

int l;

node *creat(char a)

void ceng(node *root)

}out++;

}}int main()

return 0;

}

5.資料結構實驗之二叉樹四:(先序中序)還原二叉樹

/*

problem description

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。

input

輸入資料有多組,每組資料第一行輸入1個正整數n(1 <= n <= 50)為樹中結點總數,隨後2行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區分大小寫)的字串。

output

輸出乙個整數,即該二叉樹的高度。

sample input

9 abdfghiec

fdhgibeac

sample output5*/

#include #include #include typedef struct no

node;

int max;

node *creat(int len,char fon,char mid)

}return root;

}void deep(node *root,int c)

}int main()

return 0;

}

二叉樹的遍歷,葉子數目以及深度

problem description 已知乙個按先序序列輸入的字串行,如abc,de,g,f,其中逗號表示空節點 請建立二叉樹並按中序和後序方式遍歷二叉樹,最後求出葉子節點個數和二叉樹深度。input 輸入乙個長度小於50個字元的字串。output 輸出共有7行 第1行輸出前序遍歷序列 第2行輸出...

二叉樹求葉子數

二叉樹求葉子數的數學模型是 三種情況 第一種,當a null時,函式值為0 第二種,當左子樹和右子樹都為空時,返回1 第三種,排除以上所有的就是兩邊子樹葉子加起來,返回乙個和 include includetypedef struct bnode btree btree insert node bt...

廣度遍歷二叉樹和深度遍歷二叉樹演算法

二叉樹演算法基本和遞迴有關,前中後序演算法就不提了,主要看一下深度優先遍歷和廣度優先遍歷。實現這2種遍歷需要借助棧或者佇列來儲存中間結果,原因是遍歷過程出現了回溯。1 筆試題 廣度遍歷二叉樹 深度遍歷二叉樹 23 include4 include5 include6 7using namespace...