二叉樹的建立、前序遍歷、中序遍歷、後序遍歷、層序遍歷總結如下(c++):
以下面這棵二叉樹為例:
//定義乙個常量
using
namespace std;
typedef
struct binode //定義二叉鍊錶的結點結構
binode,
*bitree;
//等同於binode binode,*bitree;
bitree q[max]
;//定義乙個結構體指標陣列當作佇列,層序遍歷用到
class
bitree
//前序遍歷二叉樹
void
inorder()
//中序遍歷二叉樹
void
postorder()
//後序遍歷二叉樹
void
leverorder()
;//層序遍歷二叉樹
private
: binode* root;
//指向根結點的頭指標
binode*
creat
(binode* bt)
;//構造函式呼叫
void
release
(binode* bt)
;//析構函式呼叫
void
preorder
(binode* bt)
;//前序遍歷函式呼叫
void
inorder
(binode* bt)
;//中序遍歷函式呼叫
void
postorder
(binode* bt)
;//後序遍歷函式呼叫};
bitree::
bitree()
bitree::
~bitree()
binode* bitree::
creat
(binode* bt)
else
//採用前序遍歷的方式建立二叉樹
return bt;
}void bitree::
release
(binode* bt)
}void bitree::
preorder
(binode* bt)
}void bitree::
inorder
(binode* bt)
}void bitree::
postorder
(binode* bt)
}void bitree::
leverorder()
if(q-
>rchild !=
null)}
}int
main()
執行截圖如下:
二叉樹建立 遍歷
include include include include using namespace std typedef struct node char ch struct node lchild,rchild bitnode,bitree int treenum 0 總結點數 void creat...
二叉樹的建立 遍歷1 建立二叉樹
談二叉樹,如果二叉樹都沒有正確的建立出來,那豈不是紙上談兵!括號表示式 表示方法 1.括號 括號內的東西是括號前的元素的孩子 2.逗號 逗號是為了區分左右孩子 演算法分析 給出乙個如上的括號表示式 a b d g e,f 再利用棧這個資料結構,分析一下 掃瞄整個括號表示的字串,這個字串中只有四種字元...
二叉樹建立和遍歷 C
題目描述 編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入描述 輸入包括1行字串,長度不超過100。輸出描述 可能...