下载此文档

二叉树的先序遍历、中序遍历、后序遍历的递归和非递归算法.doc


文档分类:IT计算机 | 页数:约41页 举报非法文档有奖
1/41
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/41 下载此文档
文档列表 文档介绍
数据结构课程设计报告题目:二叉树的先序遍历、中序遍历、后序遍历的递归和非递归算法。学生姓名:***学号:***************专业班级:计算机科学与技术专业***班同组姓名:*****指导教师:*****老师设计时间:年下学期第周指导老师意见:评定成绩:签名:日期:目录一、课题简介 3二、系统项目设计...............3三、系统实现 4四、系统测试 4五、小结 22六、参考文献................................23课题简介:通过这个课题设计主要掌握三种遍历方法,包括前序遍历,中序遍历和后序遍历,以及后续遍历的非递归算法。项目设计:非递归算法先序遍历中序遍历后序遍历退出程序退出程序后序遍历中序遍历先序遍历递归算法系统主界面图1:系统功能模块图准备系统登录选择遍历中序遍历后序遍历先序遍历退出输出遍历结果图2:系统存盘功能流程图三系统实现系统核心代码::二叉树的遍历算法需要先建立二叉树,二叉树的建立需要建立栈和数组栈和数组的建立:typedefstructnode /*结点定义*/{chardata;structnode*lchild,*rchild;}BinTreeNode;typedefstruct{//栈的定义 BinTreeNode*ptr; inttag;}StackNode;二叉树的建立:BinTreeNode*CreateBinTree(BinTreeNode*Tree)/*,按先序序列建立二叉树,输入并建立一棵二叉树Tree*/{ charc; scanf("%c",&c); if(c=='&')Tree=NULL; else { Tree=(BinTreeNode*)malloc(sizeof(BinTreeNode)); Tree->data=c; Tree->lchild=CreateBinTree(Tree->lchild); Tree->rchild=CreateBinTree(Tree->rchild); } return(Tree);}::先序遍历的递归算法:/*二叉树的先序遍历*/voidPreOrder(BinTreeNode*T){ if(T!=NULL) { printf("%c",T->data);PreOrder(T->lchild);PreOrder(T->rchild);}}:先序遍历的非递归算法:/*二叉树的先序遍历的非递归算法*/voidPreOrderTwo(BinTreeNode*T){BinTreeNode*p,*S[Max];inttop=-1;p=T;/*初始化*/do{while(p!=NULL){printf("%c",p->data);

二叉树的先序遍历、中序遍历、后序遍历的递归和非递归算法 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数41
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2286107238
  • 文件大小219 KB
  • 时间2020-08-07
最近更新