![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
文章平均质量分 62
Echo夏末
一个苦逼的人工智能专业大学牲
展开
-
二叉搜索树中的众数
利用二叉搜索树的中序遍历递增的性质,我们可以很方便的解决许多问题。在从特殊的二叉搜索树中寻找众数到从一般的二叉树中寻找众数,用到了不同的思路,这与树本身的性质有关,不过核心思想都是统计频率,寻找最大频率。原创 2023-03-09 11:35:44 · 66 阅读 · 1 评论 -
验证二叉搜索树
注意二叉搜索树的定义:节点的值大于左子树的各个节点的值,小于右子树的各个节点的值。不使用数组辅助的话,就要在二叉树的遍历过程中进行节点处理,会用到cur与pre两个指针来记录进行比较,这种方法也很常见。原创 2023-03-06 19:35:52 · 73 阅读 · 1 评论 -
从中序与后序遍历序列构造二叉树
通过此题我们可以知道根据一棵二叉树的中序遍历与后序遍历可以还原出这棵二叉树。那么同样的,给出一颗二叉树的前序遍历与中序遍历也可以还原出二叉树。但是只给出前序遍历和后序遍历无法构造出唯一的一棵二叉树。前序和后序在本质上都是将父节点与子结点进行分离,但并没有指明左子树和右子树的能力,因此得到这两个序列只能明确父子关系,而不能确定一个二叉树。而中序遍历在知道根节点后可以指明左右子树的关系。所以只能根据前序或者后序遍历先确定根节点,然后再利用中序遍历划分左右子树。原创 2023-03-06 15:09:25 · 492 阅读 · 1 评论 -
二叉树的所有路径
在这次题解中,我们用到了回溯,其实递归与回溯是相伴相生的,我会在二叉树的章节更新完成后,开始给大家讲解回溯的相关题目。原创 2023-03-02 11:17:49 · 170 阅读 · 1 评论 -
平衡二叉树
一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。判断平衡二叉树其实是计算机专业课数据结构中的一个知识,需要判断节点左右子树的高度差来判断是否平衡,其中用到了二叉树高度的知识,高度是当前节点到子节点的最远距离,这与我们前面讲过的知识又串了起来。希望可以帮助到大家。原创 2023-02-27 23:08:34 · 55 阅读 · 1 评论 -
完全二叉树的节点个数
在介绍完全二叉树节点个数前先介绍了普通二叉树的节点个数写法,后者还是很容易想到的,把树遍历一遍就好。既然是完全二叉树,就肯定有某些特殊的性质,比如最后一层之上肯定为满二叉树,而满二叉树的节点个数我们知道是用2^(树深度-1)来计算,对于最后一层不是满二叉树的部分,我们进行递归左右子树可以转化成满二叉树问题。原创 2023-02-25 23:51:03 · 609 阅读 · 3 评论 -
二叉树的最大深度与最小深度
二叉树节点的深度:从根节点到该节点的层数距离二叉树结点的高度:从该节点到最下层叶子节点的层数距离那么可以知道根节点的高度就是二叉树的最大深度。今天我们学习了二叉树的深度与高度的相关问题,了解到如何求解二叉树的最大深度与最小深度,最后增加了一个拓展问题:求n叉树的最大深度。其实对于这些问题,递归法与迭代法都是可以完成的,我这里主要给出了递归法的形式,初学者掌握一种已经很棒了。原创 2023-02-22 20:46:02 · 467 阅读 · 2 评论 -
对称二叉树
这道题的终止条件相对而言比较多,需要仔细分析一下。不论递归还是迭代,核心思想都是比较对称位置的节点值是否相同。所以就有了递归中的分层,迭代中每次取出两个节点的思路。原创 2023-02-20 21:15:12 · 78 阅读 · 0 评论 -
翻转二叉树
因为笔者是初练算法题,所以每道题掌握的解法比较单一,翻转二叉树还可以用迭代的方式来解决,感兴趣的读者可以自行探索。这个题目的思路其实很简单,就是当我们遇到一个节点时,将它的左右孩子交换位置,那么我们可以用递归的思想来做。文章内容是自己刷leetcode题目的一些总结。原创 2023-02-20 20:47:41 · 40 阅读 · 0 评论 -
二叉树的层序遍历
在之前的文章中,我们介绍了二叉树的递归遍历与迭代遍历,还有迭代遍历的统一写法。今天这篇文章我们来分析二叉树的层序遍历。今天我们总结了二叉树的层序遍历,用到了迭代和递归两种方法。在迭代中用到了队列进行节点的存取,在递归中用深度进行遍历。至此二叉树的遍历方式告一段落。原创 2023-02-20 20:23:39 · 44 阅读 · 0 评论 -
二叉树的统一迭代写法
在上篇文章二叉树的迭代遍历中我们分析了二叉树的迭代遍历方法,发现前中后序的迭代遍历方法没有一个统一的写法,今天这篇文章我们来解决这个问题,寻找一种统一的迭代写法。二叉树的统一迭代写法中,用到了标记的方法,在要处理的节点入栈后加入一个空指针作为标记,那么在遍历栈(先入后出)的过程中如果遇到了空指针,说明下一个元素就是我们要处理的节点,取出加入到结果中即可。下一篇文章介绍二叉树的层序遍历方式。原创 2023-02-17 21:57:23 · 203 阅读 · 4 评论 -
二叉树的迭代遍历
二叉树的三种递归遍历方式原创 2023-02-17 21:04:31 · 643 阅读 · 1 评论 -
二叉树的递归遍历
二叉树中开始涉及到很多的递归和迭代,因为自己是第一遍刷二叉树的算法题,算法内容可能比较单一,接下来会接着总结二叉树的知识。这是第一次写博客,是自己刷leetcode题目的一些总结吧。文章内容参考公众号:代码随想录。原创 2023-02-17 20:28:36 · 120 阅读 · 1 评论