电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

树与二叉树转换的相关函数库实现数据结构课程设计

28页
  • 卖家[上传人]:桔****
  • 文档编号:476193740
  • 上传时间:2023-07-25
  • 文档格式:DOC
  • 文档大小:462.50KB
  • / 28 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、河南工程学院数据结构与算法课程设计成果报告树与二叉树转换的相关函数库实现学生学号: 学生姓名: 学 院: 计算机学院 专业班级: 软件工程1341 专业课程: 数据结构与算法指导教师: 2014 年 12 月 29 日题 目树与二叉树转换的相关函数库实现考核项目考核内容得分平时考核(30分)出勤情况、态度、效率;知识掌握情况、基本操作技能、知识应用能力、获取知识能力系统设计(20分)分析系统的功能模块编程调试(20分)实现系统的各个功能模块,并完成调试回答问题(15分)回答老师针对课程设计提出的问题课程设计报告撰写(10分)严格按照规范要求完成课程设计报告源代码(5分)按照规范要求完成课程设计源代码的排版总 评 成 绩指导教师评语: 日期: 年 月 日目 录1 课程设计目标11.1 课程设计目标11.2 课程设计任务11.3 课程设计要求12 分析与设计22.1 题目需求分析22.2 存储结构设计22.3 算法描述32.4 程序流程图42.5 测试程序说明53 程序清单94 测试154.1 测试数据154.2 测试结果分析155 总结17参考文献181 课程设计目标与任务1.1课程设计

      2、目标此次课程不仅要从概念上理解树和二叉树,还要从相关应用实际应用中学会运用树特别是二叉树。根据树的相关概念了解树的存储方法和算法及应用以及二叉树的存储方法、遍历、算法和应用。同时在此基础上对树和二叉树的转换的实现进行编程掌握。这次课程设计的目标是通过这次的课程设计,能够使我们在数据结构的选择和应用、算法的设计与实现方面得到训练,加深对数据结构基本内容的理解和灵活应用,同时,在程序设计方法及上机操作方面受到比较系统严格的训练,培养软件工作所需要的动手能力,熟练的掌握数据结构有关知识的应用,加深对数据结构有关知识的理解和应用,进一步提高自己的编程能力,提高自身的动手能力。1.2 课程设计任务设计树与二叉树的相关数据库,以便对树与二叉树的转换的实现进行编程掌握。1.3 课程设计要求利用本学期所学的数据结构的有关知识,实现树与二叉树相互转换,设计树与二叉树转换的相关函数库,以便在程序设计中调用,要求:(1)实现树与二叉树的转换;(2)最好能借助语言环境实现图形显示功能,以便将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来;(3)给出若干例程,演示通过调用自己所缩写程序来实

      3、现相关问题的求解。2 分析与设计2.1 题目需求分析 树型结构是一类重要的非线性数据结构,其中以树与二叉树最为常见。二叉树的每个结点至多只有两颗子树,并且二叉树的子树有左右之分,其次序不能颠倒。由于二叉树与树都可用二叉链表作为存储结构,则以二叉链表作为媒介可导出树与二叉树之间的一个对应关系这个一一对应的关系导致森林或树与二叉树的转换。 2.2 存储结构设计分析树和二叉树的存储结构,二叉树的存储结构如图2.1。图2.1二叉树的存储结构图树是一种非线性的数据结构,树中的元素之间是一对多的层次关系。常用的有三种存储结构,即双亲表示法、孩子表示法、和孩子兄弟表示法。 事实上,一棵树采用孩子兄弟表示法所建立的存储结构与它所对应的二叉树的二叉链表存储结构是完全相同的,只是两个指针域的名称及解释不同而已,通过图直观的表示了树与二叉树之间的对应关系和相互转换方法。图2.2 树和二叉树的转换图2.3 算法描述将树转换为二叉树的步骤如下:1、加线:所有兄弟节点之间加线2、去线:保留树中每个结点与它第一个孩子的连线,删除其与其他孩子的连线3、层次调整:以根结点为轴心,将整棵树旋转,使之层次分明。 图2.3树

      4、转化为二叉树的形象图2.4 程序流程图该程序是先建立树,再以树为基础,将树转换成二叉树。该程序的流程是建立树,利用队列,递归,指针等,将树的根结点变为二叉树的根结点,进行树到二叉树的转换,程序的最终目的是根据输入的树的接点,孩子结点及其父亲结点,生成二叉树,将树的先序遍历结果和二叉树的先序遍历的结果输出。图2.4程序流程图2.5 测试程序说明(1)一般树的存储结构有以下几种:双亲结点,孩子结点,孩子兄弟结点。本实验运用到的是双亲结点和孩子兄弟结点。具体存储结构如下typedef struct st1/树结点的类型 char data;/数据域,采用char星 struct st1 *childrenDEGREE;/指向孩子结点的指针域CTreeNode;typedef struct st2 char data;/数据域 struct st2 *lchild,*rchild;/左右孩子结点的指针BTreeNode;(2)点下面的一段程序是树的先序遍历,遍历树的每个结点,即输出该结点的指针域,先遍历下根结点,然后依次遍历孩子结,采用递归算法。void preorderTree(CTreeN

      5、ode *ctroot) CTreeNode *ctchild; int i; coutdata ; for(i=0;ichildreni; if(ctchild=NULL) break; else preorderTree(ctchild); 此程序即为二叉树的先序遍历,采用递归调用。void Preorder(BTreeNode *T) if(T) coutdatalchild); Preorder(T-rchild); (3)CTreeNode *CreateSTree()函数,输入树的结点的数量以及各个结点的数据, 用parentNode=SearchCTree(root,parent)查找指定数据的结点。CTreeNode *CreateSTree() int i,j,k; char data, parent; CTreeNode *root,*parentNode,*node; coutj; if(j=0) return NULL;/空树,结束函数 coutdata; fflush(stdin); root=(CTreeNode *)malloc(sizeof(CTreeN

      6、ode); root-data=data; for(i=0;ichildreni=NULL; for(i=2;i=j;i+)/依次输入每个结点的信息 cout请输入idataparent; fflush(stdin); node=(CTreeNode *)malloc(sizeof(CTreeNode); node-data=data; for(k=0;kchildrenk=NULL; parentNode=SearchCTree(root,parent); for(k=0;kchildrenk=NULL) parentNode-childrenk=node; break; return root;(4)下面的程序是建立树队列以及二叉树队列的结构体类型,CTreeNode *CTreeArrayMAX_NODE_NUM为结构体指针数组,存放结点的地址,BTreeNode *BTreeArrayMAX_NODE_NUM为结构体指针数组,存放结点的地址。typedef struct nodeCTreeCTreeNode *CTreeArrayMAX_NODE_NUM; int CTreeFront,CTreeRear;QueueCTree;typedef struct nodeBTree BTreeNode *BTreeArrayMAX_NODE_NUM; int BTreeFront,BTreeRear;QueueBTree;(5)下面是将树转换为二叉树的主要程序段,ctroot指向树的根结点,btroot,指向二叉树的根,先初始化队列,然后开辟新的内存空间,以树的根结点作为二叉树的根结点,树的根结点入队,二叉树的根结点入队,树结点出队,二叉树结点出

      《树与二叉树转换的相关函数库实现数据结构课程设计》由会员桔****分享,可在线阅读,更多相关《树与二叉树转换的相关函数库实现数据结构课程设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.