華中科技大學複試 二叉排序樹(重要)

2021-10-04 18:58:53 字數 1269 閱讀 8345

題目描述

輸入一系列整數,建立二叉排序樹,並進行前序,中序,後序遍歷。

輸入描述

輸入第一行包括乙個整數n(1<=n<=100)。

接下來的一行包括n個整數。

輸出描述

可能有多組測試資料,對於每組資料,將題目所給資料建立乙個二叉排序樹,並對二叉排序樹進行前序、中序和後序遍歷。

每種遍歷結果輸出一行。每行最後乙個資料之後有乙個空格。

輸入中可能有重複元素,但是輸出的二叉樹遍歷序列中重複元素不用輸出。

示例輸入

5

1 6 5 9 8

輸出
1 6 5 9 8 

1 5 6 8 9

5 8 9 6 1

原題位址 總結

構建二叉樹時候,要先找到要插入的位置,然後再插入。因為要插入的結點都時葉子結點。

題目要求重複元素不輸出,所以再insert()中直接對「= 」的情況不採取任何操作。從而實現過濾掉重複元素的效果。

code

#include

#include

using

namespace std;

vector<

int> a;

class

node};

void

insert

(node*

& root,

int a)

//將a插在二叉排序數合適的位置

}//重要**

node*

creatroot

(int point)

//建立一棵二叉排序數

return root;

}void

previsit

(node* root)

}void

midvisit

(node* root)

}void

backvisit

(node* root)

}int

main()

node* root =

creatroot(0

);previsit

(root)

; cout << endl;

midvisit

(root)

; cout << endl;

backvisit

(root)

; cout << endl;

}return0;

}

華中科技大學複試 二叉樹遍歷

題目描述 輸入描述 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c 最多26個結點。輸出描述 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串。示例輸入abc bacfdxeag xdefag輸出bca xedgaf...

華中科技大學複試 成績排序

題目描述 有n個學生的資料,將學生資料按成績從低到高排序,如果成績相同則按姓名字元的字典序由小到大排序,如果姓名的字典序也相同則按照學生的年齡從小到大排序,並輸出n個學生排序後的資訊。輸入描述 測試資料有多組,每組輸入第一行有乙個整數n n 1000 接下來的n行包括n個學生的資料。每個學生的資料報...

華中科技大學複試 對稱矩陣

題目描述 輸入乙個n維矩陣,判斷是否對稱。輸入描述 輸入第一行包括乙個數 n 1 n 100 表示矩陣的維數。接下來的n行,每行包括n個數,表示n n矩陣的元素。輸出描述 可能有多組測試資料,對於每組資料,輸出 yes 表示矩陣為對稱矩陣。輸出 no 表示矩陣不是對稱矩陣。示例輸入4 16 19 1...