树
danmo_wuhen
这个作者很懒,什么都没留下…
展开
-
二叉树的莫里斯(Morris)遍历
什么是Morris遍历 其实就是把空间复杂度优化到O(1)的二叉树遍历算法。 对于一般的遍历算法,我们都是利用栈来存储之后需要再次访问的节点。最差情况下,我们需要存储整个二叉树节点。所以空间复杂度为O(n)。而Morris遍历则是将空间复杂度降到了O(1)级别。Morris遍历用到了“线索二叉树”的概念,其实就是利用了叶子节点的左右空指针来存储某种遍历前驱节点或者后继节点。因此没有使用额外的空...原创 2020-02-16 15:48:20 · 6882 阅读 · 2 评论 -
二叉树的前序、中序、后序递归及非递归遍历
前序遍历 二叉树的前序遍历访问顺序是:根节点 -> 左子树 -> 右子树。 递归实现 public void preOrderRecursive(TreeNode root){ if(root == null) return; System.out.println(root.val); printPreOrder(root.left); printPre...原创 2020-02-16 11:05:40 · 229 阅读 · 0 评论