
树
予安灵
计算机小白鼠
展开
-
二叉树的递归与非递归操作(详细)
本篇文章主要介绍了二叉树的知识以及递归与非递归方式的实现,欢迎阅读!原创 2024-10-09 21:08:40 · 754 阅读 · 32 评论 -
递增顺序查找树
根据二叉树中序遍历的性质,先对输入的二叉搜索树执行中序遍历,将结果保存到一个列表中;然后根据列表中的节点值,创建等价的只含有右节点的二叉搜索树,其过程等价于根据节点值创建一个链表。将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。在树的三种遍历方式中,中序遍历应用于二叉树时能够很好的解决一些问题,可以灵活运用。在二叉树中,由于二叉树特有的性质,采取中序遍历时会得到递增序列。给你一棵二叉搜索树的。原创 2024-08-21 12:43:52 · 140 阅读 · 0 评论 -
二叉树最大深度
如果我们知道了左子树和右子树的最大深度 l 和 r,那么该二叉树的最大深度即为max(l,r)+1。是指从根节点到最远叶子节点的最长路径上的节点数。求最大深度的问题,最常用的是用递归+深度优先探索。原创 2024-08-20 11:38:17 · 257 阅读 · 0 评论 -
对称二叉树
如果一个树的左子树与右子树镜像对称,那么这个树是对称的,较为容易想到的是用递归去判断每一个节点。给你一个二叉树的根节点。, 检查它是否轴对称。原创 2024-08-20 11:34:02 · 151 阅读 · 0 评论 -
二叉树的常用遍历方法
按照访问根节点——左子树——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。:按照访问左子树——右子树——根节点的方式遍历这棵树,而在访问左子树或者右子树的时候,我们按照同样的方式遍历,直到遍历完整棵树。:按照访问左子树——根节点——右子树的方式遍历这棵树,而在访问左子树或者右子树的时候我们按照同样的方式遍历,直到遍历完整棵树。树的遍历除了使用递归的方法,通常的还有迭代和Morris遍历,详细的请看另一篇文章。除了递归还可以用一个栈去维护。原创 2024-08-20 11:21:56 · 216 阅读 · 0 评论 -
N叉树问题
需要解决N叉树的遍历问题,常见的有前序遍历和后序遍历,还有N叉树的最大深度问题。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。在二叉树的问题基础上,扩展到了N叉树,但是方法运用类似。与二叉树一样,采用深度优先搜索和递归解决。给定一个 N 叉树,找到其最大深度。给定一个 n 叉树的根节点。在此提供python的写法。原创 2024-08-20 13:57:44 · 179 阅读 · 0 评论 -
二叉树最小深度
不管是求最大深度还是最小深度,都能使用深度优先搜索完成。是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最小深度。下main提供python的写法。原创 2024-08-20 13:03:03 · 121 阅读 · 0 评论 -
二叉树的路径总和
的路径,这条路径上所有节点值相加等于目标和。和一个表示目标和的整数。提供python的写法。原创 2024-08-20 13:07:50 · 169 阅读 · 0 评论 -
完全二叉树节点个数
的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。Leetcode官网给出了一种二分查找+位运算的解法。JavaScript写法。,求出该树的节点个数。原创 2024-08-19 18:46:42 · 554 阅读 · 0 评论 -
平衡二叉树
平衡二叉树:二叉树的每个节点的左右子树的高度差的绝对值不超过 1,则二叉树是平衡二叉树,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树。根据平衡二叉树特有的性质,可以用递归方法判断自顶向下或者自底向上递归。给定一个二叉树,判断它是否是 平衡二叉树。原创 2024-08-20 11:43:09 · 180 阅读 · 0 评论 -
判断相同的树
如果两个二叉树都为空,则两个二叉树相同。如果两个二叉树中有且只有一个为空,则两个二叉树一定不相同。如果两个二叉树都不为空,那么首先判断它们的根节点的值是否相同,若不相同则两个二叉树一定不同,若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。需要判断节点以及节点的值是否一样,可以采用搜索的方式解决。,编写一个函数来检验这两棵树是否相同。给你两棵二叉树的根节点。原创 2024-08-20 11:29:00 · 267 阅读 · 0 评论