前序,中序,后续非递归遍历
来源:互联网 发布:艾瑞数据分析 编辑:程序博客网 时间:2024/06/05 19:50
1.先序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize]; int top;}SqStack;void PreOrderUnrec(Bitree t){ SqStack s; StackInit(s); p=t; while (p!=null || !StackEmpty(s)) { while (p!=null) //遍历左子树 { visite(p->data); push(s,p); p=p->lchild; }//endwhile if (!StackEmpty(s)) //通过下一次循环中的内嵌while实现右子树遍历 { p=pop(s); p=p->rchild; }//endif }//endwhile }//PreOrderUnrec2.中序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize]; int top;}SqStack;void InOrderUnrec(Bitree t){ SqStack s; StackInit(s); p=t; while (p!=null || !StackEmpty(s)) { while (p!=null) //遍历左子树 { push(s,p); p=p->lchild; }//endwhile if (!StackEmpty(s)) { p=pop(s); visite(p->data); //访问根结点 p=p->rchild; //通过下一次循环实现右子树遍历 }//endif }//endwhile}//InOrderUnrec3.后序遍历非递归算法#define maxsize 100typedef enum{L,R} tagtype;typedef struct { Bitree ptr; tagtype tag;}stacknode;typedef struct{ stacknode Elem[maxsize]; int top;}SqStack;void PostOrderUnrec(Bitree t){ SqStack s; stacknode x; StackInit(s); p=t; do { while (p!=null) //遍历左子树 { x.ptr = p; x.tag = L; //标记为左子树 push(s,x); p=p->lchild; } while (!StackEmpty(s) && s.Elem[s.top].tag==R) { x = pop(s); p = x.ptr; visite(p->data); //tag为R,表示右子树访问完毕,故访问根结点 } if (!StackEmpty(s)) { s.Elem[s.top].tag =R; //遍历右子树 p=s.Elem[s.top].ptr->rchild; } }while (!StackEmpty(s));}//PostOrderUnrec
0 0
- 前序,中序,后续非递归遍历
- 前序遍历 中序遍历 后续遍历的递归与非递归算法
- leetcode | 二叉树的前序遍历、中序遍历、后续遍历的非递归实现
- Java实现树的遍历(前序、中序、后续(递归|非递归)、层次)
- 二叉树的前序、中序、后续遍历,递归、非递归实现
- 【Java语言学习】之递归、非递归前序、中序、后续遍历二叉树
- 二叉树的前序遍历、中序遍历、后续遍历 (包括递归、非递归,共六种)
- 二叉树非递归遍历(前序,中序,后续遍序)
- 前序,中序,后续非递归遍历树的标准算法
- 二叉树非递归遍历,不使用栈(前序,中序,后续)
- 二叉树的非递归前序,中序,后续遍历实现
- 递归和非递归俩种方法实现二叉树的前序、中序、后续遍历
- 二叉树的三种遍历递归法和非递归法(前序、中序、后续)
- 二叉树先序、中序、后续遍历(非递归实现)
- 二叉树的实现&&递归和非递归方式前序、中序、后续遍历&&发现一个节点中序遍历的下一节点
- 由前序遍历和中序遍历求后续遍历 递归实现
- 前序遍历非递归
- 非递归前序遍历
- 赌盘算法
- select的Option 回显选定
- 12种不宜使用的Javascript语法
- Java相关资料
- angular加载顺序
- 前序,中序,后续非递归遍历
- 移动端——JS
- llibsvm-svdd 用法示例
- windows 查看DLL导出函数的方法
- 1070: 上车人数
- CSS3新增选择器
- ValueError: invalid literal for int() with base 10: '1127437398.85751'
- 0/1背包问题-----回溯法求解
- bzoj 2216: [Poi2011]Lightning Conductor 决策单调性+cdq分治