資源簡介
一、 實驗目的:
1、 掌握二叉樹的定義和存儲表示,掌握二叉樹建立的算法;
2、 掌握二叉樹的遍歷(先序、中序、后序)算法
二、 問題描述
1. 查找自己家族的族譜,至少上溯至祖爺爺輩;
2. 族譜二叉樹的建立(樹的深度要>=4);
3. 按照二叉樹的結構輸出二叉樹;
4. 三種不同遍歷算法遍歷此二叉樹;
5. 查找某人在二叉樹中的位置,要求輸出從根結點至查找結點的路徑;
6. 統計二叉樹的深度,輸出葉子結點的信息。
代碼片段和文件信息
#include?
#include?
#include?
#include
#include?
#include?
#define?maxn?100
?
using?namespace?std;
?
#ifndef?BINTREE_H_INCLUDED
#define?BINTREE_H_INCLUDED
?
?
#define?ELEMENTTYPE?char?
typedef?struct?node*?pnode;
typedef?struct?node*?PBintree;
?
struct?node{
?ELEMENTTYPE?n;
?pnode?lchild;
?pnode?rchild;
}*BiTree;
#endif?
PBintree?create(char?seq[]int?&iint?k){
if(i>k||seq[i]==‘#‘)
return?NULL;
pnode?p=new?struct?node;
if(p!=NULL){
p->n=seq[i];
i++;
p->lchild=create(seqik);
i++;
p->rchild=create(seqik);
return?p;?
}
return?0;
}
void?PreorderTraverse(PBintree?t){
if(t==NULL)?return;
std::cout<n;
PreorderTraverse(t->lchild);
PreorderTraverse(t->rchild);
}
void?InorderTraverse(P
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3428??2020-04-12?00:35??04\04\04.cpp
?????文件???????4236??2020-04-12?00:35??04\04\04.dsp
?????文件???????1258??2020-04-12?00:35??04\04\04.plg
?????文件?????573513??2020-04-12?00:35??04\04\Debug\04.exe
?????文件?????812424??2020-04-12?00:35??04\04\Debug\04.ilk
?????文件?????302493??2020-04-12?00:35??04\04\Debug\04.obj
?????文件????2501488??2020-04-12?00:35??04\04\Debug\04.pch
?????文件????1139712??2020-04-12?00:35??04\04\Debug\04.pdb
?????文件??????99328??2020-04-12?00:35??04\04\Debug\vc60.idb
?????文件?????151552??2020-04-12?00:35??04\04\Debug\vc60.pdb
?????文件????????515??2020-04-12?00:34??04\04.dsw
?????文件??????50176??2020-04-12?00:34??04\04.ncb
?????文件??????48640??2020-04-12?00:34??04\04.opt
?????目錄??????????0??2020-04-12?00:35??04\04\Debug
?????目錄??????????0??2020-04-12?00:35??04\04
?????目錄??????????0??2020-04-12?00:34??04
-----------?---------??----------?-----??----
??????????????5688763????????????????????16
- 上一篇:進程模擬管理系統
- 下一篇:數據結構:查找的運用
評論
共有 條評論