二叉搜尋樹(王道)

2022-06-24 11:06:13 字數 1128 閱讀 6326

王道提到了一點,要判斷兩個樹是否相同,需要遍歷包括中序在內的至少兩種方法,進行比較,如果都相同,才能確定兩樹相同。

題目描述:

判斷兩序列是否為同一二叉搜尋樹序列

輸入:開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。

接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。

接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。

輸出:如果序列相同則輸出yes,否則輸出no

樣例輸入:

2

567432

543267

576342

0

樣例輸出:

yes

no

#include #include

#include

using

namespace

std;

struct

node;

struct node tree[50

];int

loc;

node *create()

char *str0;//

當前正在儲存字串

int *size0;//

當前正在儲存字串中字元的個數

char str1[50],str2[50];//

儲存二叉排序樹結果,前序和中序的字串連線

int size1,size2;//

儲存在字元陣列中遍歷得到字元個數

void preorder(node *t)

void inorder(node *t)

node *insertnode(node *t,int x)

else

if(x < t->num)

t->lchild =insertnode(t->lchild,x);

else

if(x > t->num)

t->rchild = insertnode(t->rchild,x);

returnt;}

intmain()

return0;

}

王道 構建二叉搜尋樹(二叉排序樹)(C )

題意 輸入n,接下來輸入n個數字,由中n個數字構建二叉排序樹 二叉搜尋樹 並輸出其前中後序遍歷結果。樣例輸入輸出 輸入5 1 6 5 9 8 輸出16598 15689 65981 注意 輸入可能有重複元素,但是輸出的二叉遍歷序列中重複元素不用輸出 include include include i...

王道機試指南 二叉樹與二叉搜尋樹

二叉樹題目鏈結二叉樹 題意 在乙個完全二叉樹中給出乙個子樹的根和樹的最後乙個結點,求其子樹的結點個數。思路 分為三種情況 其中2 3情況均為乙個滿二叉樹,只需要知道其子樹的深度就可以直接算得,而對於第一種情況,需要先計算出其最後一層的結點樹,再加上以上的結點數。如下 include include ...

二叉搜尋樹 二叉搜尋樹

題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...