数据结构课程设计二叉树的遍历报告_1.pdf

上传人:hg158****2095 文档编号:82118889 上传时间:2023-03-24 格式:PDF 页数:9 大小:477.51KB
返回 下载 相关 举报
数据结构课程设计二叉树的遍历报告_1.pdf_第1页
第1页 / 共9页
数据结构课程设计二叉树的遍历报告_1.pdf_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《数据结构课程设计二叉树的遍历报告_1.pdf》由会员分享,可在线阅读,更多相关《数据结构课程设计二叉树的遍历报告_1.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 精品 数据结构课程设计报告 姓 名 班 级 学 号 指导老师 精品 一、课程设计目的 培养学生用学到的书本知识解决实际问题的能力;培养实际工作所需要的动手能力;培养学生以科学理论和工程上能力的技术,规范地开发大型、复杂、高质量的应用软件和系统软件具有关键性作用;通过课程设计的实践,学生可以在程序设计方法、上机操作等基本技能和科学作风方面受到比较系统和严格的训练。二、课程设计要求 1)学生必须仔细阅读数据结构课程设计方案,认真主动完成课程设计的要求。有问题及时主动通过各种方式与教师联系沟通。2)学生要发挥自主学习能力,充分利用时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划

2、完成情况,及时向教师汇报。3)课程设计按照教学计划需要一周时间完成,一周中每天至少要上两小时的上机来调试 C 或 C+语言设计的程序,总共至少要上机调试程序 10 小时。属教师安排上机时间学生不得缺席。三、课程设计内容 二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。四、课程设计原理 精品 1.设计思想 以广义表格式输入一个二叉树,将其接收至一维数组中,利用栈结构建立二叉链表树;通过先、中、后访问根结点递归算法遍历二叉树;利用栈结构依次将结点入栈、出栈实现二叉树的非递归遍历算法;利用队列的入队、出队操作实现二叉树的层次遍历。例如:a(c(,d),

3、f(g,)建立如下图所示二叉树。2.数据结构 typedef BTREENODEPTR elemtype;1)队列数据类型定义 typedef struct elemtype*elem;int front,rear;int size;SqQueue;2)栈数据类型定义 typedef struct stack_tag elemtype*elem;int top;int size;SQSTACK;3)二叉树数据类型定义 typedef struct btreenode char data;struct btreenode*lchild,*rchild;BTREENODE,*BTREENODEPT

4、R,*BTREE;c a d f g 精品 3.主要模块设计 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);/后序非递归遍历二叉树 vo

5、id LayerOrder(BTREE root);/层次遍历 其他模块包括栈的初始化及其基本操作和队列的初始化及基本操作。4.详细设计 1)二叉树的建立 其中mark的值 1、2、3、4 分别指 stri为字母、(、,、);主菜单 先序递归遍历 中序递归遍历 后序递归遍历 先序非递归遍历 中序非递归遍历 后序非递归遍历 层次遍历 结束 将以广义表形式输入的二叉树接收到数组 str80中,成功建立二叉树 精品 tag为左、右孩子的标志;2)二叉树的递归遍历(以先序遍历为例)root=null 检查 str10(),mark=1;root-data=str0,root-lchild=root-r

6、child=null;p=root;str0是否为字母 Y N N mark=2mark=2 stri入栈 tag=0 mark=3mark=3 tag=1 N mark=4 pop 为空 return null N Y Y)mark=1&栈不空 新建结点 p p-data=stri p-lchild=p-rchild=null tag=0?循环结束后return root 栈顶-rchild=p 栈顶-lchild=p Y N 精品 3)二叉树的非递归遍历(以先序遍历为例)4)二叉树的层次遍历 访问元素所指结点,若该元素所指结点的左右孩子结点非空,则该元素所指结点的左孩子指针和右孩子指针顺序

7、入队。初始化队列,root 入队 栈非空 出栈p;打印p-data Y p-lchild!=null Y p-lchild入栈 p-lchild!=null N Y N p-rchild入栈 结束 N 结点为空 N 访问根节点 先序遍历方式遍历左子树 先序遍历方式遍历右子树 结束 Y 开始 精品 五、运行结果 1.建立二叉树 2.先序遍历 初始化队列,root 入队 队列非空 出队p;打印p-data Y p-lchild!=null Y p-lchild入队 p-lchild!=null N Y N p-rchild 入结束 N 精品 3.中序遍历 4.后序遍历 5.层次遍历 精品 6.退出程序 7.出错信息 六、设计总结 二叉树是数据结构的的基本内容。虽然程序规模不大,我依然付出了努力,仍免不了各种错误的出现。编程过程需要很大的毅力和耐心,而且要有良好的思维和扎实的专业基础知识,所以我需要不断的学习,发现自身不足之处并改正它,逐步提高自己。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁