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

2021-10-22 14:22:57 字數 1014 閱讀 6767

輸入:輸入兩個字串,注意每個數字0~9

思路:建樹之後,對兩個樹前序遍歷+中序遍歷,前序遍歷結果相同並且中序遍歷結果也相同,說明為同乙個二叉搜尋樹

**:

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

//輸入字串,每個數字0~9

#include

#include

#include

using

namespace std;

struct treenode};

treenode*

insert

(treenode *root,

int number)

else

return root;

}void

preorder

(treenode*root,vector<

int>

&a)void

inorder

(treenode*root,vector<

int>

&a)int

main()

treenode*root1=

null

; treenode*root2=

null

;for

(int i=

0;isize()

;++i)

vector<

int>a1;vector<

int>a2;

preorder

(root1,a1)

;preorder

(root2,a2);

vector<

int>a3;vector<

int>a4;

inorder

(root1,a3)

;inorder

(root2,a4);if

(a1==a2&&a3==a4) cout<<

"yes"

"no"

<}

是否為同一二叉搜尋樹

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

04 樹4 判斷是否為同一二叉搜尋樹

1.建立兩棵搜尋樹的判別方法 2.不建樹的判別方法 3.建立一棵樹,再判斷其他序列是否與該樹一致 步驟 1.搜尋樹的表示 2.建立搜尋樹 3.判斷一串行是否與搜尋序列一致 include include typedef struct treenode tree struct treenode tre...

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

九度提供的演算法設計思路是 對輸入的數字序列構建二叉排序樹,並對它們進行前序和中序的遍歷,依次比較遍歷結果是否相同,若相同則說明兩棵二叉排序樹相同,否則不同。這個設計思路是沒有問題的,但是有點畫蛇添足的成份。那麼這個 蛇足 是什麼呢?試想一下二叉排序樹的性質,如果對二叉排序樹來說,對其進行中序遍歷,...