09级软件工程一班数据结构课程设计

09级软件工程一班数据结构课程设计

ID:27416680

大小:713.93 KB

页数:25页

时间:2018-12-03

09级软件工程一班数据结构课程设计_第1页
09级软件工程一班数据结构课程设计_第2页
09级软件工程一班数据结构课程设计_第3页
09级软件工程一班数据结构课程设计_第4页
09级软件工程一班数据结构课程设计_第5页
资源描述:

《09级软件工程一班数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、湖南人文科技学院计算机科学技术系课程设计说明书课程名称:C++程序设计题目:二叉树操作年级/专业/班:09级计算机系软件工程一班学生姓名:赵杰唐磊刘文飞郑宇翔学号:09436110094361020943611109436130指导教师:唐海波开题时间:2010年12月20完成时间:2010年12月28目录一设计课题二设计内容1、概要设计1.1头文件1.2宏定义1.3抽象数据类型定义1.4操作具体实现的函:1.5其他模块实现函2、详细设计2.1将二叉树中所有结点的左右子树交换2.2求二叉树高度、分支结点数和叶子结点2

2、.4插入结点到指定位置、删除指定结点2.5对二叉树进行层序、非递归中序遍历三程序清单程序调试与体会五运行结果-2--3--3--3--3--3--3--4--4--4--4-_5-_5--6-错误!未定义书签。-17—一设计课题树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。二叉树是树形结构中的一种。我们此次设计的课题就是二叉树的一些基本操作。内容分别是:己知二叉树的前序、中序序列,恢复此二叉树;求二叉树高度、分支结点数和叶子结点数;插入结点到指定

3、位置、删除指定结点;将二叉树中所有结点的左右子树交换;对二叉树进行层序、非递归中序遍历。DesignIssuesTreeisanimportantnon-lineardatastructure,intuitively,itisthedataelements(callednodesinthetree)organizedbythebranchbetweenthestructure,muchlikethetreeinthewayofnature.Binarytreeisatreestructure.Ourtopicisth

4、edesignofsomeofthebasicbinaryoperations.Contentsare:thefirstknownbinarysequence,thesequenceordertorestorethebinarytree:findbinarytreeheight,branchnodesandleafnodes:insertionnodetothespecifiedlocation,removethespecifiednode;willBinarytreeallnodesintheleftandrigh

5、tsub-treeexchange;sequenceofbinarytreefornon-recursiveinordertraversal.二设计内容1、概要设计1.1头文件^include"math,h"^include"malloc.h"^include’’stdio.h"#include"conio.h"^include"stdlib.h"1.2宏定义#definestackinitsize100#defineOK1#defineERROR0#defineOVERFLOW-11.3抽象数据类型定义typede

6、fintTElemType;typedefintStatus;//二叉树的二叉链表存储表示typedefstructBiTNode{//二叉树结构体TElemTypedata;structBiTNode*1chi1d,*rchi1d,*node;//左右•孩子指针}BiTNode,*SElemType,*BiTree;typedefstruct{//该堆栈的元素是指针类型的"base和top均是指向指针的指针SElemType氺base;SElemTypo氺top;intstacksize;}sqstack;//堆栈

7、结构1.4操作具体实现的函数T,Status(*Visit)(TElemTypee))//层序遍历//交换左右子树//计算叶子结点个数StatusExchange(BiTNode氺t)StatusLeavesNum(BiTNode*t)//计算分支结点个数//二叉树的高度//插入结点//删除结点voidBranch_Num(BiTNode*t)Statusheight(BiTNode*t)StatusInsert(BiTNode氺T,chari,TElemTypee)voidDelete(BiTNode*T,char

8、i)StatusInorderTraverseNoRecursionl(BiTreeT,Status(木Visit)(TElemTypee))//中序非递归算法1.5其他模块实现函数StatusInitStack(sqstack&s)//初始化堆枝intStackEmpty(sqstack&s)//栈空判别StatusPop(sqstack&s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。