抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

二叉搜索树是有序的。 它可以完成搜索,插入以及删除等操作。 搜索 例题 思考 因为二叉搜索树有以下几个性质。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 所以它的搜索效率就跟二分搜索一样很快。 使用迭代法很快就能写出来。 代码 12345678910TreeN...

构造 前序和中序可以唯一确定一棵二叉树。 后序和中序可以唯一确定一棵二叉树。 前序和后序不能唯一确定一棵二叉树! 没中序遍历就无法分割了。 前序遍历&中序遍历构造 分析 首先要牢记各个遍历方法的顺序。 前序遍历是:根节点->左子树->右子树 中序遍历是:左子树->根节点->右子树 所以前序遍历的第一个元素就是整个二叉树的根节点。 同理,在中序遍历中找到...

前言 最近经常刷到二叉树的题,那么好好把二叉树的相关知识点都过一下吧。 本文参考了代码随想录关于二叉树的介绍。原文链接 分类 满二叉树 一个二叉树除了叶节点外每个节点都有两个子节点,且叶节点在同一层的二叉树。就是看上去都是满的。 深度为kkk。节点数量就是2k−12^k-12k−1个。 完全二叉树 除了最底层节点没填满外,其他节点都是满的。且最底层节点必须从左到右连续! ...

最近经常做到关于二叉树的Easy题。 二叉树的遍历总是和递归绑在一起。 如下题寻找二叉树的最大深度。 原题 原题链接 思路 用递推的思路来想,从某一个节点出发,它的最大深度就是max(左子节点最大深度,右子节点最大深度) + 1。 对于每一个节点来说都是这样的,那么就可以用递归的办法来解决了。(长度也短),所以主要是思路问题。 代码 12345678910class Solution...

今天日常刷Leetcode刷到了一个二叉树中序遍历的题。原题链接 通过示例可以很明显了解到何为中序遍历,同时打算用栈结构来实现。 中序遍历 可以看作将节点投影到一个水平坐标轴上,从原点开始向右遍历。 如图顺序为:H->D->I->B->E->J->A->F->K->C->G 栈 栈遵循先进后出的原则。 把栈想象成一个桶:a...