《資料結構與演算法》課程設計 08 實現二叉樹的遍歷

2021-10-17 10:57:22 字數 1238 閱讀 6411

實現要求:

利用遞迴和迭代的方法分別實現先序遍歷、中序遍歷、後序遍歷二叉樹。

#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演算法

題目 某地區經過對城鎮交通狀況的調查,得到現有城鎮間快速道路的統計資料,並提出 暢通工程 的目標,使整個地區任何兩個城鎮間都可以實現快速交通 但不一定有直接的快速道路相連,只要互相間接通過快 速路可達即可 現得到城鎮道路統計表,表中列出了任意兩城鎮間修建快速路的費用,以及該道路是否已經修通的狀態。現...