数据结构课程设计叉树的遍历报告11.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计叉树的遍历报告11

数据结构课程设计报告 姓 名 班 级 学 号 指导老师 课程设计目的 培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 课程设计要求 1 学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 数据结构 typedef BTREENODEPTR elemtype; 队列数据类型定义 typedef struct elemtype *elem; int front,rear; int size; SqQueue; 栈数据类型定义 typedef struct stack_tag elemtype *elem; int top; int size; SQSTACK; 二叉树数据类型定义 typedef struct btreenode char data; struct btreenode *lchild,*rchild; BTREENODE,*BTREENODEPTR,*BTREE; 主要模块设计 BTREE CreateBtree1 char *str ;//创建二叉树 void PreOrder BTREE root ;//先序递归遍历二叉树 void InOrder BTREE root ;//中序递归遍历二叉树 void PostOrder BTREE root ;//后序递归遍历二叉树 void PreOrder_1 BTREE root ;//先序非递归遍历二叉树 void InOrder_1 BTREE root ;//中序非递归遍历二叉树 void PostOrder_1 BTREE root ;//后序非递归遍历二叉树 void LayerOrder BTREE root ;//层次遍历 其他模块包括栈的初始化及其基本操作和队列的初始化及基本操作。 详细设计 二叉树的建立 其中mark的值1、2、3、4分别指str[i]为字母、‘ ’、‘,’、‘ ’; tag为左、右孩子的标志; 以先序遍历的顺序创建二叉树的各个结点,流程图如图4-3所示。将二叉树的各结点以字符串数组的形式存放在ch中,首先判断数组的第一个元素是否为空,如果为空则结二叉树的遍历结果返回空,反之遍历下一个结点。下一个结点不为零,则其为致左子树,否则致为右子树,依次循环直到最终输出为回车键,循环结束。 二叉树的递归遍历 以先序遍历为例 二叉树的非递归遍历 以先序遍历为例 二叉树的层次遍历 访问元素所指结点,若该元素所指结点的左右孩子结点非空,则该元素所指结点的左孩子指针和右孩子指针顺序入队。 运行结果 建立二叉树 先序遍历 中序遍历 后序遍历 层次遍历 退出程序 出错信息 设计总结 二叉树是数据结构的的基本内容。虽然程序规模不大,我依然付出了努力,仍免不了各种错误的出现。编程过程需要很大的毅力和耐心,而且要有良好的思维和扎实的专业基础知识,所以我需要不断的学习,发现自身不足之处并改正它,逐步提高自己。 c a d f g 主菜单 先序递归遍历 中序递归遍历 后序递归遍历 先序非递归遍历 中序非递归遍历 后序非递归遍历 层次遍历 结束 将以广义表形式输入的二叉树接收到数组str[80]中,成功建立二叉树 root null 检查str[1~’\0’] ‘ ’ ‘ ’ ‘,’‘ mark 1;root- data str[0],root- lchild root- rchild null;p root; str[0]是否为字母 Y N N mark 2? mark 2 str[i]入栈 tag 0 mark 3? mark 3 tag 1 N mark 4 pop为空 return null N Y Y ‘ ’‘ mark 1栈不空 新建结点p p- data str[i] p- lchild p- rchild null tag 0? 循环结束后return root 栈顶- rchild p 栈顶- lchild p Y N 结点为空 N 访问根节点 先序遍历方式遍历左子树 先序遍历方式遍历右子树 结束 Y 开始 初始化队列,root入队 栈非空 出栈p;打印p- data Y p- lchild! null Y p- lchild入栈 p- lchild! null N Y N p- rchild入栈 结束 N 初始化队列,root入队 队列非空 出队p;打印p- data Y p- lchild! null Y p

文档评论(0)

yasou511137 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档