- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计二叉树的建和遍历
安徽工程大学
数 据 结 构
课 程 设 计 说 明 书
?
?
?
学生姓名: ?刘超 学 号: 3120702109? 学 院: 计算机与信息学院 专 业: 信息与计算科学 题 目: 二叉树 指导教师 潘海玉
?
?
?
?2014年8月25日
目录
需求分析-----------------------1
概要设计-----------------------1
详细设计-----------------------3
调试分析-----------------------9
课程总结-----------------------10
附录 -----------------------12
需求分析
问题描述:根据运行时输入的先序序列,创建一棵二叉树,分别对其 进行先序、中序、后序、层序遍历,并显示遍历结果。
void CreateBTree(BTree T) //按先序次序输入,构造二叉树
void PreOrder(BTree T) //递归先序遍历
void InOrder(BTree T) //递归中序遍历
void PostOrder(BTree T) //递归后序遍历
void LevelOrder(BTree T) //层序遍历
void NRPreOrder(BTree bt) //非递归先序遍历
void NRInOrder(BTree bt) //非递归中序遍历
void NRPostOrder(BTree bt) //非递归后序遍历
void main() //二叉树的建立与遍历实现
2.概要设计
此次课程设计遍历算法的框架图
此次课程设计所用的三组二叉树
本设计所使用的存储结构:
typedef char ElemType;//定义二叉树结点值的类型为字符型
typedef struct bnode{//二叉链表结构定义
ElemType data;
struct bnode *lchild,*rchild;
}Bnode,* BTree;
typedef struct {
BTree ptr;
int tag;
}stacknode;
3.详细设计
void CreateBTree(BTree T){//按先序次序输入,构造二叉链表表示的二叉树T,#表示空树
char ch;
ch=getchar();
if(ch==#) T=NULL;//读入#时,将相应节点指针置空
else{
if(!(T=(Bnode *)malloc(sizeof(Bnode))))
printf(创建失败!);//生成结点空间
T-data=ch;
CreateBTree(T-lchild);//构造二叉树的左子树
CreateBTree(T-rchild);//构造二叉树的右子树
}
}
void PreOrder(BTree T){//递归先序遍历
if(T){
printf(%c ,T-data);
PreOrder(T-lchild);
PreOrder(T-rchild);
}
}
void InOrder(BTree T){//递归中序遍历
if(T){
InOrder(T-lchild);
printf(%c ,T-data);
InOrder(T-rchild);
}
}
void PostOrder(BTree T){//递归后序遍历
if(T){
PostOrder(T-lchild);
PostOrder(T-rchild);
printf(%c ,T-data);
}
}
void LevelOrder(BTree T){//层序遍历
BTree Q[MAX];
int front=0,rear=0;
BTree p;
if(T){ //根结点入队
Q[rear]=T;
rear=(rear+1)%MAX;
}
while(front!=rear){
p=Q[front]; //队头元素出队
front=(front+1)%MAX;
printf(%c ,p-data);
if(p-lchild){ //左孩子不为空,入队
Q[rear]=p-lchild;
rear=(rear+1)%MAX;
}
if(p-rchild)
您可能关注的文档
- 数学与应用数学本毕业论文指导.doc
- 数学建模必须注意的七点.doc
- 数据研究·机构每日持仓报告析分析 定期报告 中期研究院·产品系列.doc
- 数控加工工艺业设计论文.doc
- 数据库课设计报告.doc
- 数控加工艺规程设计.doc
- 数控技术和备发展趋势及对策.doc
- 数控加工中毕业设计.doc
- 数控车床刀故障诊断与维修.doc
- 数模A题空间布QQ聊天记录.doc
- 2025年市国资委党委开展深入贯彻中央八项规定精神学习教育工作方案与开展学习中央八项规定主题教育工作方案(2篇文).docx
- 在2025年市商务局党组研究部署深入贯彻中央八项规定精神学习教育专题会上的讲话稿、教育动员部署会议上的讲话提纲【2篇文】.docx
- 开展2025年学习八项规定主题教育工作方案与领导在局机关深入贯彻八项规定精神学习教育部署会上的讲话稿(两篇文).docx
- 2025年深入贯彻中央八项规定精神学习教育实施方案与全面落实中央八项规定精神情况总结(2篇文).docx
- 2025年落实中央八项规定精神情况总结稿与领导在深入贯彻中央八项规定精神学习教育工作会议的主持讲话稿(2篇文).docx
- 2025年组织部长在八项规定学习教育工作专班座谈会的讲话稿与开展学习中央八项规定主题教育工作方案(两篇文).docx
- 学习2025年深入贯彻中央八项规定精神知识测试题135题【附答案】与全面深入贯彻中央八项规定精神学习教育实施方案.docx
- 2025年县委书记在中央八项规定精神学习教育动员会上的讲话稿遵守党的政治纪律和落实中央八项规定精神情况个人对照检查材料(2篇文).docx
- 2025年在深入贯彻中央八项规定精神学习教育动员部署会上的讲话稿与在市委党的建设工作领导小组会议暨部署深入贯彻中央八项规定精神学习教育专题会讲话稿(两篇文).docx
- 2025年市工业园区党工委开展深入贯彻中央八项规定精神学习教育工作方案与深入贯彻中央八项规定精神学习教育动员部署会讲话提纲【2篇文】.docx
文档评论(0)