LeetCode 二叉树遍历算法题解 All In One
LeetCode 二叉树遍历算法题解 All In One
树的遍历 / Tree Traversal
主要看
根节点
Root 的遍历顺序: 前,中,后
-
前序
遍历 (Root, Left, Right)
先访问根节点
,然后遍历左子树
,最后遍历右子树
。 -
中序
遍历 (Left, Root, Right)
先遍历左子树,然后访问根节点
,然后遍历右子树
。
通常来说,对于二叉搜索树
,我们可以通过中序遍历
得到一个递增
的有序序列
。
后序
遍历 (Left, Right, Root)
先遍历左子树
,然后遍历右子树
,最后访问树的根节点
。
⚠️ 值得注意的是,当你删除
树中的节点
时,删除过程将按照后序遍历
的顺序进行。
也就是说,当你删除一个节点时,你将首先删除它的左节点和它的右边的节点,然后再删除节点本身。
另外,后序
在数学表达中被广泛使用。
编写程序来解析后缀表示法
更为容易。
您可以使用中序遍历
轻松找出原始表达式
。
但是程序处理这个表达式时并不容易,因为你必须检查操作的优先级
。
如果你想对这棵树进行后序遍历
,使用栈
来处理表达式会变得更加容易。
每遇到一个操作符,就可以从栈中弹出栈顶的两个元素,计算并将结果返回到栈中。
递归
和迭代
您可以通过递归或迭代方法实现算法,并比较它们之间的差异。
深度优先、广度优先 (层次遍历)
demos
BST / BTS
Binary Search Tree / Binary Tree Search
二叉搜索树 / 二叉树搜索
refs
https://www.cnblogs.com/xgqfrms/p/13710756.html
https://leetcode.cn/explore/learn/card/data-structure-binary-tree/2/traverse-a-tree/7/
https://leetcode.cn/leetbook/read/data-structure-binary-tree/xe17x7/
©xgqfrms 2012-2020
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/16784063.html
未经授权禁止转载,违者必究!