- 博客(2)
- 收藏
- 关注
转载 Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
本文主要解决一个问题,如何实现二叉树的前中后序遍历,有两个要求: 1. O(1)空间复杂度,即只能使用常数空间; 2. 二叉树的形状不能被破坏(中间过程允许改变其形状)。 通常,实现二叉树的前序(preorder)、中序(inorder)、后序(postorder)遍历有两个常用的方法:一是递归(recursive),二是使用栈实现的迭代版本(stack+iterative)。这
2013-07-03 17:19:27 1546
转载 morris traversal(线索二叉树)
刚开始接触到这个是因为算法导论习题10.4-5,其中有一句话说不能改变二叉树结构,即使临时改变也不行,个人就感觉改变二叉树结构也可以进行遍历。 搜索的过程中发现了morris 遍历,刚开始根本不相信如此短的代码可以使用无栈、O(1) 空间进行二叉树遍历,但深入之后才发现这个想法是如此的巧妙,感谢J Morris,不知这个Morris 和KMP中的Morris 是否是同一个人?
2013-07-03 17:15:57 664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人