数据结构课程设计-二叉树的基本操作

数据结构课程设计-二叉树的基本操作

ID:26101386

大小:117.32 KB

页数:11页

时间:2018-11-24

数据结构课程设计-二叉树的基本操作_第1页
数据结构课程设计-二叉树的基本操作_第2页
数据结构课程设计-二叉树的基本操作_第3页
数据结构课程设计-二叉树的基本操作_第4页
数据结构课程设计-二叉树的基本操作_第5页
资源描述:

《数据结构课程设计-二叉树的基本操作》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构课程设计报告设计题目:二叉树的基本操作专业:计算机科技院系:计算机学院姓名:xxxx学号:xxxxxxxx时间:2013年9月22日11/11目录一、设计要求-------------------------------------------------------31.问题描述----------------------------------------------------32.需求分析----------------------------------------------------3二、详细设计---

2、-----------------------------------------------------31.概要设计-----------------------------------------------------311/111.各模块源代码-----------------------------------------------3一、用户手册--------------------------------------------------------9二、总结------------------------

3、-------------------------------------1011/11一、设计要求1.问题描述设计一个与二叉树基本操作相关的演示程序。2.需求分析(1)创建二叉树。按照用户需要构建二叉树(2)分别以先序、中序、后序遍历二叉树(3)查找子节点元素二、详细设计(附源代码)1.概要设计//定义二叉树数据结构typedefstructTNode{intnum;structTNode*lchild,*rchild;}TNode;2.各模块源代码(包含main()函数)#include#include<

4、stdlib.h>#defineMaxLength100//定义二叉树数据结构typedefstructTNode{intnum;structTNode*lchild,*rchild;}TNode;//声明全局变量rootstaticTNode*root=NULL;//声明插入新结点的函数(根非空)intmyInsert_Node(TNode*p,intn);11/11//定义插入新节点的初始函数,拆开写的目的是递归时避免不必要的判断voidInsert_Node(intn){if(root==NULL)//如果根结点不存在则

5、创建{root=(TNode*)malloc(sizeof(TNode));root->num=n;root->lchild=NULL;root->rchild=NULL;}else{myInsert_Node(root,n);//非根结点的插入操作}}intmyInsert_Node(TNode*p,intn){TNode*temp;if(nnum)//比当前结点小,则访问左子树{if(p->lchild==NULL)//左子树为空,则插入该结点{temp=(TNode*)malloc(sizeof(TNode));

6、temp->num=n;temp->lchild=NULL;temp->rchild=NULL;p->lchild=temp;return0;}else//左子树不为空,则与左子树进行比较{myInsert_Node(p->lchild,n);}}else//右子树同理{if(p->rchild==NULL){temp=(TNode*)malloc(sizeof(TNode));temp->num=n;temp->lchild=NULL;temp->rchild=NULL;p->rchild=temp;11/11return0

7、;}else{myInsert_Node(p->rchild,n);}}}//前序递归遍历二叉树voidPre_travel(TNode*p){if(p){printf("%d",p->num);Pre_travel(p->lchild);Pre_travel(p->rchild);}}//中序递归遍历二叉树voidMid_travel(TNode*p){if(p){Mid_travel(p->lchild);printf("%d",p->num);Mid_travel(p->rchild);}}//后序递归遍历二叉树void

8、Suf_travel(TNode*p){if(p){Suf_travel(p->lchild);Suf_travel(p->rchild);printf("%d",p->num);}}//中序非递归遍历二叉树/*11/11从根节点开始,沿左子树一直走到没有左孩子的节点为止,并

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

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

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