二叉树遍历算法的应用与实现数据结构课程设计说明书格式.doc
《二叉树遍历算法的应用与实现数据结构课程设计说明书格式.doc》由会员分享,可在线阅读,更多相关《二叉树遍历算法的应用与实现数据结构课程设计说明书格式.doc(13页珍藏版)》请在三一办公上搜索。
1、中北大学数 据 结 构课 程 设 计 说 明 书学生姓名:宁亚楠学 号:1021011601学 院:软件学院专 业:软件开发与测试题 目:二叉树遍历算法的应用与实现指导教师何志英2011年12月20日1. 设计任务概述(包括系统总体框图及功能描述)此次课程设计遍历算法的框架图遍历算法递归遍历非递归遍历先序遍历中序遍历后序遍历先序遍历中序遍历后序遍历 此次课程设计所用二叉树 ABDCFE2. 本设计所采用的数据结构(如:链表、栈、树、图等)链表,栈,二叉树。3. 功能模块详细设计 本程序的功能是建立二叉树,对二叉树进行递归先序遍历、中序遍历和后序遍历,用栈实现非递归的先序、中序遍历和后序遍历。
2、本程序要求用户以字符输入,最后以回车键建入数据。本程序的结果将依次打印出递归先序遍历、中序遍历和后序遍历,用栈实现非递归的先序和中序遍历和后序遍历。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);
3、/中序非递归遍历二叉树 void lrd(BiTNode *t); /后序非递归遍历二叉树 void main();/选择功能及输出界面3.2 核心代码#include#include#define maxsize 100int leafcount=0;/二叉树的二叉链表存储表示typedef struct BiTNode char data; struct BiTNode *lchild,*rchild;BiTNode,*BiTree;/栈的定义typedef struct stack int top; BiTree stacklistmaxsize;stack,*sqlist; /构造一棵
4、二叉树int CreateBiTree(BiTree *T) char ch;printf(输入节点:n); scanf(%c,&ch);ch=getchar();while(!(ch=a|ch=0)|(ch=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); r
5、eturn 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) o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉 遍历 算法 应用 实现 数据结构 课程设计 说明书 格式
链接地址:https://www.31ppt.com/p-2396517.html