文章 2024-02-21 来自:开发者社区

LeetCode题解-二叉搜索树中第K小的元素-Java

主要思路是: 根据二叉搜索树中节点左小右大的特点,使用中序遍历的方式,即可顺序找到第k小元素。 代码如下: package easy; import tree.TreeNode; public class KthSmallest { private TreeNode tarNode; private int t_k...

文章 2024-01-24 来自:开发者社区

二叉搜索树 和 哈希表 (JAVA)

​二叉搜索树 先了解一下二叉搜索树是啥,概念如下: 二叉搜索树又称二叉排序树,它具有以下性质的二叉树或空树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的每颗子树也分别为二叉搜索树 这就是一颗简单的二叉搜索树:​​​​ 二叉搜索树...

二叉搜索树 和 哈希表 (JAVA)
文章 2023-12-10 来自:开发者社区

230. 二叉搜索树中第K小的元素 --力扣 --JAVA

 题目给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。解题思路利用List存储数据;遍历整个树,读取数各个节点的value;对value进行排序,获取第k个最小值。代码展示class Solution { private List<Integer> list = new ArrayL...

230. 二叉搜索树中第K小的元素 --力扣 --JAVA
文章 2023-12-08 来自:开发者社区

98. 验证二叉搜索树 --力扣 --JAVA

 题目给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。-2^31 <= Node.val <= 2^31 - 1解题思路需要当前节点的值和父节点作比较,所以基础方法无法满足需要对方法进行重载或建立新的函数;....

98. 验证二叉搜索树 --力扣 --JAVA
文章 2023-12-04 来自:开发者社区

1038. 从二叉搜索树到更大和树 --力扣 --JAVA

 题目给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。提醒一下, 二叉搜索树 满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索树。解题思路由题意可知需要先获取右子树的值累加再赋值给当前节点,因此使用递归;创建全局变量用来存储累加后的值;右子树是先递....

1038. 从二叉搜索树到更大和树 --力扣 --JAVA
文章 2023-11-24 来自:开发者社区

108. 将有序数组转换为二叉搜索树 --力扣 --JAVA

 题目给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。解题思路可以采用二分法,每次选数组中间值为根节点创建树,这样可以确保左右子树的高度差的绝对值不超过1;通过递归来逐级生成后续节点;可通过变量设置左右边界,方便后续节点区间的取值;代码展示cla....

108. 将有序数组转换为二叉搜索树 --力扣 --JAVA
文章 2023-07-29 来自:开发者社区

二叉搜索树(二叉排序树)—Java(下)

cur.left != null && cur.right != null–>要删除节点的左右均不为空找cur左子树的右叶子节点–>左子树的最大值–>最大值的右节点一定为null找cur右子树的左叶子节点–>右子树的最小值–>最小值的左节点一定为null不可以是左子树的左叶子节点(左子树最小值) or 右子树的右叶子节点(右子树最大值)代码演示以cu....

二叉搜索树(二叉排序树)—Java(下)
文章 2023-07-29 来自:开发者社区

二叉搜索树(二叉排序树)—Java(上)

概念二叉搜索树又称二叉排序树可以是一棵空树也可以不是一棵空树(doge)上图所示就是一棵二叉搜索树根节点root值为7,root的左子树的值全部比root的值小,root的右子树的值全部比root的值大root.left–>root的左子树的根节点4,其左侧节点的值1比4小,右侧节点的值6比4大(但它们均小于7)root.right–>root的右子树的根节点11,其左侧节点的值9比....

二叉搜索树(二叉排序树)—Java(上)
文章 2023-06-19 来自:开发者社区

数据结构(5)树形结构——二叉搜索树(JAVA代码实现)

5.1.概述二叉搜索树,也叫二叉查找树、二叉排序树,顾名思义,这种二叉树是专门用来进行数据查找的二叉树。二叉搜索树的查找其实就是二分查找。二叉搜索树的定义:二叉搜索树可以为空如果二叉搜索树不为空,那么每个有孩子结点的结点,其左孩子的值一定要小于它,其右孩子的值一定要大于它。二叉搜索树的操作集:既然是专门用来进行查找的二叉搜索树的操作集自然就是增删查,没有改,因为二叉搜索树中的元素都是排序好的,如....

数据结构(5)树形结构——二叉搜索树(JAVA代码实现)
文章 2023-04-25 来自:开发者社区

二叉搜索树的模拟实现——Java数据结构

概念: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树模拟实现的代码:public class BinarySearchTree { static class TreeNode { publi...

二叉搜索树的模拟实现——Java数据结构

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问