parent指针非递归不用栈中序遍历二叉树
2013-03-17 21:01
190 查看
p = T; while(p) { while(p->left) p = p->left; Visit(p); if(p->right) p = p->right; else { while(p->parent) { if(p->parent->left == p) { Visit(p->parent); if(!p->parent->right) p = p->parent; else { p = p->parent->right; break; } } else p = p->parent; } } if(!p->parent) p = p->parent;//p=null }
相关文章推荐
- 【二叉树的递归】06填充每个节点中的下一个正确的指针【Populating Next Right Pointers in Each Node】
- 追寻伯利恒二叉树 -- 不用栈不用递归
- 中序遍历二叉树 非递归 非栈 用的是指针
- 不用递归和辅助空间对二叉树进行遍历
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- [转载]Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 数据结构之二叉树的非递归实现及“狡猾”的指针
- 线索二叉树 Threaded Binary Tree (不用递归,不用栈,遍历二叉树)
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 输入完全二叉树的先序序列,用#代表虚结点(空指针),如ABD###CE##F##,建立二叉树的二叉链表。 (2)写出对用二叉链表存储的二叉树进行先序、中序和后序遍历的递归和非递归算法。 (3)写出
- (p138)只用固定量额外存储空间不用递归遍历二叉树
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 层次遍历二叉树的方法(递归,队列,指针)
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
- 不用递归——用栈——实现先序遍历二叉树的算法
- LeetCode算法题集-144. Binary Tree Preorder Traversal(二叉树的前序遍历,不用递归实现)
- C++实现二叉树 前序遍历, 后序遍历, 中序遍历, 层序遍历(不用递归)
- Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)