1.慢SQL
- 索引 是帮助MySql(数据库)高效获取数据的排好序的数据结构
- 索引数据结构
- 二叉树 123456 时间复杂度
- 红黑树 海量数据影响树的高度
- Hash表
- B-Tree
- 叶子结点具有相同的深度,叶子结点的指针为空
- 所有索引元素不重复
- 节点中的数据索引从左到右递增排列
- B+Tree(B-tree 的优化)
- 非叶子节点不存储data,只存储索引,可以放更多的索引
- 叶子节点包含所有索引字段
- 叶子节点用指针连接,t提高区间访问的性能
每日一题:
给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。
假定 BST 有如下定义:
结点左子树中所含结点的值小于等于当前结点的值
结点右子树中所含结点的值大于等于当前结点的值
左子树和右子树都是二叉搜索树
例如:
给定 BST [1,null,2,2],
返回 [2]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def findMode(self, root: TreeNode) -> List[int]:
ls = []
b = []
def zhongxu(root):
if not root:
return
zhongxu(root.left)
ls.append(root.val)
zhongxu(root.right)
zhongxu(root)
if not ls:
return []
d ={}
for i in ls:
d[i] = ls.count(i)
a = max(ls, key=ls.count)
for key in d.keys():
if d[key] == d[a]:
b.append(key)
return b
```
过于复杂 需要改进