题目描述 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当前结点的值 左子树和右子树都是二叉搜索树 示例: 题目链接: https://leetco ...
分类:
其他好文 时间:
2020-04-14 00:40:36
阅读次数:
78
—— 索引就像书的目录,是为了提高数据查询的效率而存在。 索引的常见模型: 哈希表、有序数组、搜索树 哈希表 哈希表是一种以键-值(key-value)存储数据的结构,输入待查找的值key,就可以找到其对应的值Value。其思路是,把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把v ...
分类:
其他好文 时间:
2020-04-13 00:26:36
阅读次数:
89
109. 有序链表转换二叉搜索树 给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, ...
分类:
其他好文 时间:
2020-04-12 18:46:44
阅读次数:
59
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), ...
分类:
其他好文 时间:
2020-04-12 18:30:30
阅读次数:
65
96. 不同的二叉搜索树 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 2 3 c ...
分类:
其他好文 时间:
2020-04-12 00:13:34
阅读次数:
78
二叉搜索树的第k大节点 递归法 中序遍历的二叉搜索树序列为单调递增的序列,将中序遍历的结果放到vector中,第k大的数为v.size() k位置的数 迭代法 ...
分类:
其他好文 时间:
2020-04-12 00:02:47
阅读次数:
91
AVL树说明: 该树是一种高度平衡的二叉搜索树,该树中的每一个结点左右子树的高度至多相差1。 AVL树本身也是一个二叉搜索树。 斐波那契数列: 1、1、2、3、5、8、13、21、34、…… 其递推式定义为:F(1) = 1, F(2) = 1, F(n) = F(n-1) + F(n-2) (n> ...
分类:
其他好文 时间:
2020-04-11 23:57:28
阅读次数:
123
平衡二叉搜索树 二叉搜索树的问题: 添加:若从小到大添加元素,那么二叉搜索树将退化成链表 删除:删除节点时也可能会导致二叉搜索树退化成链表 平衡(Banlance) 平衡:当节点数量固定时,左右子树的高度越接近,这棵二叉树就越平衡(高度越低) 最理想的状态就是像完全二叉树、满二叉树那样,高度是最小的 ...
分类:
其他好文 时间:
2020-04-11 00:32:57
阅读次数:
70
AVL,在本题中: 1.由于构造的树的AVL,其子树高度差不超过1. 所以在选值时,要选nums中间的值作为node 2.由于每一颗子树都是AVL,所以需要使用递归 每次都选择区间中值构造Node 代码借鉴官方答案: class TreeNode: def __init__(self, x): se ...
分类:
编程语言 时间:
2020-04-06 17:48:50
阅读次数:
102
Given the node of a binary search tree, return the sum of values of all nodes with value between and (inclusive). The binary search tree is guaranteed ...
分类:
其他好文 时间:
2020-04-06 09:50:46
阅读次数:
73