1. MySQL索引引擎有两种:Innodb:聚集索引;Myisam:非聚集索引 2. MySQL 为什么不使用hash、二叉树、红黑树等作为索引的数据结构,而采用 B+ 树? 因为hash、二叉树、红黑树的高度不可控,B+ 树的高度可控,mysql 一般是3~5层。 3. 多路平衡二叉树(B+树) ...
分类:
数据库 时间:
2020-07-04 13:39:38
阅读次数:
67
将有序数组转换为二叉搜索树 -- 简单 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 简单地说一下解题思路吧,平衡二叉树的特点有两个: 左子树与右子树的深度之差的绝对值不超过1; 左子树和右 ...
分类:
编程语言 时间:
2020-07-04 01:26:51
阅读次数:
77
题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高 ...
分类:
编程语言 时间:
2020-07-03 23:32:53
阅读次数:
67
108. 将有序数组转换为二叉搜索树 题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,n ...
分类:
编程语言 时间:
2020-07-03 19:40:43
阅读次数:
72
红黑树(Red Black Tree)是一种自平衡的二叉搜索树(Self-balancing Binary Search Tree)。以前也叫做平衡二叉 B 树(Symmetric Binary B-tree)。 预备知识 树的知识框架结构如下图所示: 平衡二叉搜索树 平衡二叉搜索树(Balance ...
分类:
其他好文 时间:
2020-06-28 20:52:04
阅读次数:
53
一、思维导图: 二、需要留意的点 链式结构可以进行二分查找,但是不能在对数时间内完成,因为要对数字下标进行随机访问,实际都得遍历一遍,需要O(n) 二分查找应用场景的局限性: (1)基于顺序表的存储结构; (2)针对有序数据; (3)数据量小且比较操作不耗时时 (4)数据量不能太大(需要连续的内存空 ...
分类:
其他好文 时间:
2020-06-27 20:12:59
阅读次数:
66
剑指 Offer 55. 平衡二叉树 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = No ...
分类:
其他好文 时间:
2020-06-27 00:35:38
阅读次数:
56
二叉树概念 二叉树:每个节点最多有两个子节点 满二叉树:深度为K,有2^k-1个节点 完全二叉树:满二叉树属于完全二叉树,最后一层可满可不满,不满只可右部分缺失,其余层是满的 平衡二叉树:一棵空树或者左右子树的高度差的绝对值不能超过1 二分查找树:左子树节点的值比该节点的值小,右子树节点的值比该节点 ...
分类:
其他好文 时间:
2020-06-24 11:56:36
阅读次数:
58
最强面试题推荐: 2020Java面试题及答案,命中率高达90% 蚂蚁金服Java一面 1. 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树 (红黑树)有什么区别 2. B 树和 B+树的区别,为什么 MySQL 要使用 B+树 3. HashMap 如何解决 Hash冲 ...
分类:
编程语言 时间:
2020-06-17 11:07:56
阅读次数:
754
一、树 1.概念: 包含n(n>=0)个结点的有穷集;树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树像是一个不断分叉的树根。 2.相关概念: 一棵树可以没有任何节点,称为空树 一棵树可以只有 1 个节 ...
分类:
编程语言 时间:
2020-06-15 22:49:31
阅读次数:
79