xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

LeetCode 二叉树遍历算法题解 All In One

LeetCode 二叉树遍历算法题解 All In One

树的遍历 / Tree Traversal

主要看 根节点 Root 的遍历顺序: 前,中,后

  1. 前序遍历 (Root, Left, Right)
    先访问根节点,然后遍历左子树,最后遍历右子树

  2. 中序遍历 (Left, Root, Right)
    先遍历左子树,然后访问根节点,然后遍历右子树

通常来说,对于二叉搜索树,我们可以通过中序遍历得到一个递增有序序列

  1. 后序遍历 (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, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2022-10-12 11:56  xgqfrms  阅读(24)  评论(3编辑  收藏  举报