二叉排序樹建立及前中後序遍歷

2021-08-21 16:49:07 字數 959 閱讀 6202

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

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

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

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

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

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

示例1

複製

5

1 6 5 9 8

複製

1 6 5 9 8 

1 5 6 8 9

5 8 9 6 1

二叉排序樹(二叉搜尋樹)的遞迴方法建立,以及前中後序遍歷。

#include using namespace std;

struct node;

bool creat(node * &root,int a)

if(a>root->data)

else

}void preorder(node *root)

if(root->r!=null)

}void midorder(node *root)

coutif(root->r!=null)

}void postorder(node *root)

if(root->r!=null)

cout}int main()

bool temp[102];

for(int i=0;idata=num1[0];

roo->l=null;

roo->r=null;

for(int i=1;ipreorder(roo);

cout

cout

cout<} return 0;

}

二叉樹遍歷方式(前 中 後序)

順序是針對根節點來說的。前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。中序遍歷首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。在遍歷左 右子樹時,仍然先遍歷左子樹,再訪問根結點,最後遍歷右子樹。後序遍歷指在訪問根結點 遍歷...

二叉樹的前中後序遍歷

秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...

二叉樹的前 中 後序遍歷

import lombok.data import lombok.noargsconstructor data noargsconstructor class treenode 前序遍歷 根 左 右 public void preorder 遞迴向右子樹前序遍歷if this right null ...