hdu 3791 二叉排序樹水題

2022-09-18 07:51:42 字數 1730 閱讀 7381

一開始想到的辦法,對每個序列建立二叉排序樹後先根遍歷看得到的序列是否相同即可。打完後忽然想到,其實既然我用陣列存下了二叉樹,那麼直接比較樹是否完全一樣就可以了的,算了就這樣吧,以後再打……

/*

* hdu3791/linux.cpp

* created on: 2011-9-6

* author : ben

*/#include

<

cstdio

>

#include

<

cstdlib

>

#include

<

cstring

>

#include

<

cmath

>

#include

<

algorithm

>

using

namespace

std;

typedef

struct

node node;

const

intmax_node

=200

;const

intmaxn =30

;int

ncount;

node tree[max_node];

char

orilist[maxn], newlist[maxn];

intoriindex, newindex;

void

create(node

*proot,

char

num)

if(num

>

proot

->

num)

create(proot

->

pleft, num);

} else

create(proot

->

pright, num);}}

void

getori(node

*proot)

if(proot

->

pright)

}void

getnew(node

*proot)

if(proot

->

pright)

}void

work()

ncount =0

;while

((c

=getchar())

>''

) oriindex =0

;getori(tree);

for(

inti =0

; i

<

n; i

++)

ncount =0

;while

((c

=getchar())

>''

) newindex =0

;getnew(tree);

if(oriindex

!=newindex)

intj =0

;for

(j =

0; j

<

newindex; j

++) }if

(j ==

newindex)

else}}

}int

main()

hdu3791二叉搜尋樹

hdu3791二叉搜尋樹 又是二叉搜尋樹的前序遍歷。1.建樹會順序影響整棵樹的形狀 2.記得釋放資源 3.可以用雙重指標和引用優化程式。某些printf 是之前設定的斷點,可以無視之 includeusing namespace std struct bst root bst insert bst ...

hdu 3791 二叉搜尋樹

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

HDU 3791 二叉搜尋樹

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