二叉搜索树
文章平均质量分 73
Emperorist
患病者
展开
-
leetcode-图
797-所有可能的路径给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。方法一:图的深度优先搜索我们可以使用深度优先搜索的方式求出所有可能的路径。具体地,我们从 0号点出发,使用栈记录路径上的点。每次我们遍历到点 n−1,就将栈中记录的路径加入到答案中。特别地,因为本题中的图为有向无环图(DAG),搜索过原创 2022-04-05 23:24:03 · 717 阅读 · 0 评论 -
面试题55-判断二叉树是否是平衡二叉树
题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。自底向上的递归由于自顶向下递归,对于同一个节点,会重复遍历同一个节点,导致时间复杂度较高。如果使用自底向上的做法,则对于每个节点,只被遍历一次自底向上递归的做法类似于后序遍历,对于当前遍历到的节点,先递归地判断其左右子树是否平衡,再判断以当前节点为根的子树是否平衡。如果存在一棵子树不平衡,则整个二叉树一定不平衡。class Solution {public:原创 2022-03-04 00:27:01 · 435 阅读 · 0 评论 -
leetcode-二叉搜索树
230二叉搜索树的第K小的元素给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。方法一:中序遍历二叉搜索树具有如下性质:结点的左子树只包含小于当前结点的数。结点的右子树只包含大于当前结点的数。所有左子树和右子树自身必须也是二叉搜索树。二叉树的中序遍历即按照访问左子树——根结点——右子树的方式遍历二叉树;在访问其左子树和右子树时,我们也按照同样的方式遍历;直到遍历完整棵树。思路和算法因为二叉搜索树和中序遍历的性质,原创 2022-02-17 17:28:03 · 919 阅读 · 0 评论