浙大機試 二叉搜尋樹

2021-10-22 04:13:52 字數 1587 閱讀 5173

題目描述

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

輸入描述:

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

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

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

輸出描述:

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

示例1輸入複製2

567432

543267

5763420輸出

複製yes

no

#include

#include

using

namespace std;

struct tnode};

vector<

int>tmp_pre_sequence,tmp_in_sequence,cur_pre_sequence,

cur_in_sequence;

tnode* _template,

*cur_tree;

string s,cur_s;

bool

judge

(vector<

int>v1,vector<

int>v2)

;void

insert

(tnode*

&t,int data)

;void

pre(tnode*t)

;void

in(tnode*t)

;void

_pre

(tnode*t)

;void

_in(tnode*t)

;void

reset()

;void

_reset()

;void

build

(tnode*

&t,string s)

;int

main()

else cout<<

"no";if

(i1)cout

}void

build

(tnode*

&t,string s)

}void

insert

(tnode*

&t,int data)

void

_pre

(tnode*t)

}void

_in(tnode*t)

}void

pre(tnode*t)

}void

in(tnode*t)

}bool

judge

(vector<

int>v1,vector<

int>v2)

for(

int i=

0;isize()

;i++

)return

true;}

void

reset()

void

_reset()

浙大機試OJ 二叉搜尋樹

判斷兩序列是否為同一二叉搜尋樹序列 開始乙個數n,1 n 20 表示有n個需要判斷,n 0 的時候輸入結束。接下去一行是乙個序列,序列長度小於10,包含 0 9 的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組...

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

二叉樹題目鏈結二叉樹 題意 在乙個完全二叉樹中給出乙個子樹的根和樹的最後乙個結點,求其子樹的結點個數。思路 分為三種情況 其中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...