数据结构-二叉搜索树
文章平均质量分 68
xushiyu1996818
这个作者很懒,什么都没留下…
展开
-
leetcode-98-验证二叉搜索树(validat binary search tree)-java
题目package pid098;/*验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输...原创 2018-09-19 11:13:49 · 1296 阅读 · 0 评论 -
leetcode-108-将有序数组转换为二叉搜索树(convert sorted array to binary search tree)-java
题目及用例package pid108;import java.util.List;/*将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,...原创 2018-09-26 11:03:37 · 216 阅读 · 0 评论 -
leetcode-230-二叉搜索树中第K小的元素(kth smallest element in a bst)-java
题目及测试package pid230;/* 二叉搜索树中第K小的元素给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 1...原创 2018-11-20 11:33:08 · 434 阅读 · 0 评论 -
普通的二叉搜索树总结+java实现
目录二叉搜索树的概念结构节点类二叉搜索树类实现-增删查插入节点创建二叉搜索树搜索节点删除节点应用搜索排序完整代码二叉搜索树的概念二叉搜索树(Binary Search Tree)节点放置:任何节点的键值一定大于其左子树的每一个节点的键值,并小于其右子树的每一个节点的键值。因此,找出BST树的最大元素和最小元素,就是从根节点一直往左走,...原创 2018-12-13 15:01:30 · 273 阅读 · 0 评论 -
红黑树总结+java实现
目录红黑树定义红黑树特性红黑树内部结构叶子节点红黑树旋转左旋右旋插入case 0case 1 case4case 2case 3case 5case 6插入代码查找删除红黑树性质回顾删除节点类型不可能存在的情形(只有左子树或只有右子树)图解删除红色节点删除黑色节点删除黑色叶子节点情况1:待删除节点D...原创 2019-04-24 11:51:50 · 444 阅读 · 2 评论 -
AVL平衡二叉树总结+java实现
目录普通二叉搜索树的问题AVL树定义AVL树和节点的结构AVL树高度计算方法AVL树旋转LL 右旋转RR 左旋转LR 左旋右旋RL 右旋左旋平衡节点插入节点删除节点查找最大最小节点删除完整代码主程序叶节点avl树普通二叉搜索树的问题普通二叉树(二叉查找树)在操作的时间复杂度上不一定遵循O(㏒n),也有可能是O(n),...原创 2018-12-17 14:41:50 · 356 阅读 · 0 评论