基礎資料結構 二叉樹 二叉樹構建與先中後序遍歷

2022-08-11 10:18:13 字數 1309 閱讀 1836

給定一顆二叉樹的邏輯結構,(先序遍歷的結果,空樹用字元『0』表示,例如ab0c00d00),建立該二叉樹的二叉鏈式儲存結構,並輸出該二叉樹的先序遍歷、中序遍歷和後序遍歷結果

輸入第一行輸入乙個整數t,表示有t個二叉樹

第二行起輸入每個二叉樹的先序遍歷結果,空樹用字元『0』表示,連續輸入t行

輸出輸出每個二叉樹的先序遍歷、中序遍歷和後序遍歷結果

樣例輸入

2ab0c00d00

ab00c00

樣例輸出

abcd

bcad

cbda

abcbac

bca

#include#include

using

namespace

std;

class

bitreenode

~bitreenode(){}

};class

bitree

; ~bitree(){};

void createtree(string

treearray);

void

preorder();

void

inorder();

void

postorder();

};//

構造二叉樹,利用先序遍歷結果建樹

void bitree::createtree(string treearray) //

公有函式,對外介面

bitreenode *bitree::createbitree() //

遞迴建樹,私有函式,類內實現

returnt;}

//定義先序遍歷函式

void bitree::preorder() //

公有函式,對外介面

void bitree::preorder(bitreenode *t) //

私有函式,類內實現}//

定義中序遍歷函式

void bitree::inorder() //

公有函式,對外介面

void bitree::inorder(bitreenode *t) //

私有函式,類內實現}//

後序遍歷函式

void bitree::postorder() //

公有函式,對外介面

void bitree::postorder(bitreenode *t) //

私有函式,類內實現

}int main(void

)

return0;

}

資料結構 二叉樹 反轉二叉樹

include using namespace std define maxsize 1000 struct binary tree node class queue queue queue void queue push binary tree node btn binary tree node ...

構建二叉樹 遍歷二叉樹

陣列法構建二叉樹 public class main public static void main string args 用陣列的方式構建二叉樹 public static void createbintree 把linkedlist集合轉成二叉樹的形式 for int j 0 j 最後乙個父節...

資料結構 樹結構 二叉樹 完全二叉樹 滿二叉樹

樹結構是一種描述非線性層次關係的資料結構。除根結點外,其餘每個結點有且僅有乙個直接前驅。每個結點可以有任意多個直接後繼。英文名詞表示 tree,root,node,leaf,edge,child,subtree 要麼二叉樹沒有根結點,是一棵空樹。要麼二叉樹由根結點,左子樹,右子樹組成,且左子樹和右子...