實現要求:
利用遞迴和迭代的方法分別實現先序遍歷、中序遍歷、後序遍歷二叉樹。
#include
#define maxsize 100
using
namespace std;
typedef
char elemtype;
typedef
struct node btnode;
//先序遍歷遞迴演算法
void
preorder
(btnode *b)
}//先序遍歷非遞迴演算法
void
preorder1
(btnode *b)
if(p-
>lchild !=
null)}
printf
("\n");
}}//中序遍歷遞迴演算法
void
inorder
(btnode *b)
}//中序遍歷非遞迴演算法
void
inorder1
(btnode *b)
if(top >-1
)}printf
("\n");
}}//後序遍歷遞迴演算法
void
postorder
(btnode *b)
}//後序遍歷非遞迴演算法
void
postorder1
(btnode *b)
p =null
;//p 指向當前結點的前乙個已訪問的結點
flag =
true
;//flag 為真表示正在處理棧頂結點
while
(top !=-1
&& flag)
else}}
while
(top !=-1
);printf
("\n");
}}//建立二叉樹
void
createbtree
(btnode *
&b,char
*str)
else}}
j++; ch = str[j];}
}//銷毀二叉樹
void
destroybtree
(btnode *
&b)}
intmain()
資料結構與演算法課程設計
題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...
資料結構與演算法課程設計 Prim演算法
題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...
資料結構與演算法課程設計 Prim演算法
題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...