描述:
判斷兩序列是否為同一二叉搜尋樹序列
題目類別:
樹 難度:
中級 執行時間限制:
10sec
記憶體限制:
128mbyte
階段:入職前練習
輸入:開始乙個數n,(1<=n<=20) 表示有n個需要判斷,n= 0 的時候輸入結束。
接下去一行是乙個序列,序列長度小於10,包含(0~9)的數字,沒有重複數字,根據這個序列可以構造出一顆二叉搜尋樹。
接下去的n行有n個序列,每個序列格式跟第乙個序列一樣,請判斷這兩個序列是否能組成同一顆二叉搜尋樹。
輸出:如果序列相同則輸出yes,否則輸出no
樣例輸入:
2567432
543267
576342
0樣例輸出:
yesno
#include #include using namespace std;
int original_tree[1024] = ; //順序儲存結構,儲存建立的原始序列二叉搜尋樹
int judge_tree[1024] = ; //順序儲存結構,儲存建立的判斷序列二叉搜尋樹
void creatsorttree(int *address,char ch,int index) //建立二叉搜尋樹序列
if(address[index] > ch) //遞迴找到還未儲存的節點
else }
int main()
for(j = 0; j >judge_serial;
for(i = 0; i < judge_serial.size(); ++i) //建立判斷二叉搜尋樹
for(i = 0 ;i < 1024; ++i)
}if(flag)
}
二叉排序樹 二叉搜尋樹
bstree bst.h pragma once template 友元類宣告 class bstree 友元類宣告 templateclass bstnode 自定義的結點型別及特徵 bstnode type d,bstnode left null,bstnode right null 初始化 d...
二叉搜尋樹(二叉排序樹)
全部資料結構 演算法及應用課內模板 二叉搜尋樹 二叉排序樹 binary search tree bst 二叉搜尋樹很簡單,就是左子樹的所有結點的鍵值小於根結點,右子樹的所有結點的鍵值大於根結點 這樣就能使插入與搜尋達到log級別 非常簡單 稍微說一說刪除吧 刪除分兩類 合併刪除和複製刪除 1 合併...
二叉排序樹 二叉搜尋樹 二叉查詢樹
特點 結構體定義struct node 建樹 建二叉排序樹 void create node root,int t else if t root data create root lc,t else create root rc,t 前序遍歷 層序 字典序 int flag int pre 1001...