1 / 12
文档名称:

后序遍历二叉树的非递归算法.doc

格式:doc   大小:78KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

后序遍历二叉树的非递归算法.doc

上传人:wxc6688 2019/3/20 文件大小:78 KB

下载得到文件列表

后序遍历二叉树的非递归算法.doc

相关文档

文档介绍

文档介绍:请根据用户输入的“扩展的先序遍历序列”(用小圆点表示空子树),建立以二叉链表方式存储的二叉树,然后写出后序遍历该二叉树的非递归算法。方法一:#include<>#include<>#defineMAX_TREE_SIZE100typedefstructBiTNode{ chardata; structBiTNode*lchild; structBiTNode*rchild;}BiTNode,*BiTree;//函数声明voidPrint(BiTree*root);voidSelection(intsel,BiTree*root);voidReadExPreOrder(BiTree*root);voidPrintExPreOrder(BiTreeroot);voidPostOrderTraverse(BiTreeT);//主函数voidmain() { BiTreeroot=NULL;//初始化根结点 Print(&root); while(true) { printf("\nPressentertocontinue........."); getchar(); getchar(); system("cls"); Print(&root); }}voidPrint(BiTree*root) {//提示 intsel; printf("使用说明:本程序可实现二叉链表方式存储的二叉树,输入为扩展先序遍历序列.\n"); printf("---------------------\n"); printf(".\n"); printf(".\n"); printf(".\n"); printf(".\n"); printf("---------------------\n"); printf("请选择你要的操作:"); scanf("%d",&sel); getchar(); Selection(sel,root);}voidSelection(intsel,BiTree*root) {//根据用户输入决定下一步骤 switch(sel){ case1:ReadExPreOrder(root); break; case2:PrintExPreOrder(*root); break; case3:PostOrderTraverse(*root); break; default:exit(0); }}voidReadExPreOrder(BiTree*root) {//先序遍历二叉树,root为指向二叉树(或某一子树)根结点的指针 charch; ch=getchar(); if(ch=='.') *root=NULL; else{ (*root)=(BiTree)malloc(sizeof(BiTNode)); (*root)->data=ch; ReadExPreOrder(&((*root)->lchild)); ReadExPreOrder(&((*root)->rchild)); }}voidPrintExPreOrder(BiTreeroot) { charch; if(root!=NULL) { ch=root->data; printf("%c",ch); PrintExPreOrder(root->lchild); PrintExPreOrder(root->rchild); } else printf(".");}voidPostOrderTraverse(BiTreeT){ BiTreestack[MAX_TREE_SIZE],p; inttag[MAX_TREE_SIZE],top=0; p=T; while(p||top!=0) { while(p){ top++; stack[top]=p; tag[top]=0; p=p->lchild;//从根开始,左结点依次入栈} if(top>0){ if(tag[top]==1){//表示是从该结点的右子树返回,则访问该结//点 p=stack[top]; printf("%c",p->data); top--; p=NULL;//将p指向NULL,则下次进入while循环时,不做左子//树入栈操作} else{//表明是从该结点左子树返回,应继续访问其右子树 p=stack[top]; if(top>0){ p=p->rchild; tag[top]=1;//表明该结点的右子树已访问} }//endofelse }//endofif }//endofwhile}方法二(顺序栈):#include<ios

最近更新

2024年信阳涉外职业技术学院单招职业适应性考.. 56页

2024年内蒙古丰州职业学院单招职业倾向性测试.. 56页

2024年包头钢铁职业技术学院单招职业倾向性考.. 55页

2024年南充职业技术学院单招职业技能考试题库.. 56页

2024年厦门安防科技职业学院单招职业适应性测.. 55页

2024年吉林水利电力职业学院单招职业倾向性测.. 45页

2024年哈尔滨北方航空职业技术学院单招职业倾.. 45页

2024年天津滨海职业学院单招职业倾向性考试必.. 57页

循环水工艺 96页

石材幕墙钢化夹胶玻璃雨棚施工方案 135页

公益慈善晚会2025光影追踪倒计时互动投影系统.. 24页

化学实验医药医疗医学PPT模板 31页

口腔内科学试题及答案 47页

基于DevOps体系的平台技术研发2025自动化部署.. 24页

小区无障碍设计方案 8页

基于卡通元素设计的汉字演变史主题班会展示模.. 30页

基于新课标的2025语文开学第一课PPT教学方案 26页

基于绿色扁平风的2025急诊科护士应急处理模拟.. 25页

基层禁毒志愿者团队二零二五专业技能培训课程.. 21页

复印机购销合同书模板2025年通用 16页

体彩店创业计划书 7页

康复医学科康复诊疗规范 8页

工厂急救箱方案 3页

水泥土换填施工方案 12页

年产10万吨环保新材料项目环评报告书 542页

低温液体泵工艺及安全操作规程 3页

黄志光-有机废气深冷处理技术 12页

关于进一步做好回迁安置和不动产权证办理工作.. 5页

环氧化丁腈橡胶的制备及其共混改性研究 67页

DIN3123-德国套筒接杆标准 4页