二叉树遍历算法的应用与实现数据结构课程设计说明书格式.doc

二叉树遍历算法的应用与实现数据结构课程设计说明书格式.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二叉树遍历算法的应用与实现数据结构课程设计说明书格式

中北大学 数 据 结 构 课 程 设 计 说 明 书 ? ? ? 学生姓名: ?宁亚楠 学 号: 1021011601? 学 院: 软件学院 专 业: 软件开发与测试? 题 目: 二叉树遍历算法的应用与实现 指导教师 何志英 ? ? ? ?2011年12月20日 设计任务概述(包括系统总体框图及功能描述) 此次课程设计遍历算法的框架图 此次课程设计所用二叉树 本设计所采用的数据结构(如:链表、栈、树、图等) 链表,栈,二叉树。 功能模块详细设计 本程序的功能是建立二叉树,对二叉树进行递归先序遍历、中序遍历和后序遍历,用栈实现非递归的先序、中序遍历和后序遍历。 本程序要求用户以字符输入,最后以回车键建入数据。 本程序的结果将依次打印出递归先序遍历、中序遍历和后序遍历,用栈实现非递归的先序和中序遍历和后序遍历。 3.1 详细设计思想 函数功能及声明如下,源代码见附表: int CreateBiTree(BiTree *T); //建立一棵二叉树 int preOrder(BiTree T); //先序递归遍历二叉树 int inOrder(BiTree T); //中序递归遍历二叉树 int oldOrder(BiTree T); //后序递归遍历二叉树 void dlr(BiTNode *t); //前序非递归遍历二叉树 void ldr(BiTNode *t); //中序非递归遍历二叉树 void lrd(BiTNode *t); //后序非递归遍历二叉树 void main(); //选择功能及输出界面 3.2 核心代码 #includestdio.h #includestdlib.h #define maxsize 100 int leafcount=0; //二叉树的二叉链表存储表示 typedef struct BiTNode{ char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; //栈的定义 typedef struct stack { int top; BiTree stacklist[maxsize]; }stack,*sqlist; //构造一棵二叉树 int CreateBiTree(BiTree *T) { char ch; printf(输入节点:\n); scanf(%c,ch); ch=getchar(); while(!((ch=zch=a||ch==0)||(ch=Zch=A||ch==0))) { //printf(字符非法,请重新输入\n); ch=getchar(); } printf(\n); if(ch==0) { *T=NULL; } else{ if(!(*T=(BiTree)malloc(sizeof(BiTNode)))) return 0; (*T)-data=ch; CreateBiTree(((*T)-lchild)); CreateBiTree(((*T)-rchild)); } return 1; } //先序递归遍历二叉树 int preOrder(BiTree T) { if(T){ printf(%c ,T-data); if (!T-lchild!T-rchild) leafcount+=1; preOrder(T-lchild); preOrder(T-rchild); } return 1; } //中序递归遍历二叉树 int inOrder(BiTree T) { if(T){ inOrder(T-lchild); printf(%c ,T-data); inOrder(T-rchild); } return 1; } //后序递归遍历二叉树 int oldOrder(BiTree T) { if(T){ oldOrder(T-lchild)

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档