在本篇文章中,开始部分会介绍索引的定义,及常见索引使用的数据结构和 MySQL 的索引模型。然后,根据索引的存储结构来学习索引的建立原则。最后会介绍索引的使用场景。在阅读后,应该了解如下的内容: 索引场景的模型:哈希表,有序数组和搜索树 MySQL 的索引模型,了解主键/非主键索引,回表,页分裂的概 ...
分类:
其他好文 时间:
2020-01-03 14:21:49
阅读次数:
82
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉查找树。 后续补 ...
分类:
其他好文 时间:
2020-01-03 00:37:37
阅读次数:
65
二叉搜索数的插入、查找、删除 二叉树搜索树(即:二叉排序树,二叉查找树)二叉排序树或者是一颗空树,或者是具有下列性质的二叉树:(1)若它的左子树不空,则左子树上的所有结点的值均小于它的根结点的值。(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值。(3)它的左、右子树叶分别是二叉排序 ...
分类:
其他好文 时间:
2020-01-02 22:41:45
阅读次数:
84
题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 1 class Solution: 2 # 返回二维列表[[1,2],[4,5]] 3 def Print(self, pRoot): 4 # write code here 5 if pRoot==None: 6 retu ...
分类:
编程语言 时间:
2020-01-01 20:46:25
阅读次数:
87
红黑树 红黑树仍然是一颗二分搜索树,和AVL一样,都是在二分搜索树的基础上加了一些限制条件:具体的5个限制条件如下: 1) 每个节点或者是红色的,或者是黑色的 2) 根节点是黑色的 3) 每一个叶子节点(最后的空节点叫叶子节点)是黑色的 4) 如果有一个节点是红色的,那么它的两个孩子节点都是黑色的 ...
分类:
其他好文 时间:
2020-01-01 19:00:19
阅读次数:
75
AVL树 自平衡树:AVL树是一颗二分搜索树,同时左右子树的高度差不超过1,AVL是自平衡的 主要是通过左旋和右旋来维护平衡 统计一本书中共出现多少个单词,每个单词出现了多少次:使用AVL树实现Set和Map,Set用于统计共出现了多少个不同的单词,Map用于容纳每个单词出现的次数。 AVLTree ...
分类:
其他好文 时间:
2020-01-01 12:08:26
阅读次数:
98
原题 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 原题url:https://leetcode cn.com/problems/unique binary search trees/ 解题 这道题看到的第一眼,就和之前的格雷编码一样,又想用动态规划,每次都是遍历 ...
分类:
其他好文 时间:
2020-01-01 11:51:39
阅读次数:
75
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 思路:中序遍历 1 class Solution: 2 # 返回对应节点TreeNode 3 def KthNode(self, pRoot, k): 4 # ...
分类:
编程语言 时间:
2019-12-31 23:10:27
阅读次数:
62
这里的函数是有返回值的,不是void型,所以需要注意的是:(在代码中已经标注) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * ...
分类:
其他好文 时间:
2019-12-29 21:58:46
阅读次数:
76
分别使用中序遍历两颗二叉搜索树,得到两个有序列表。再将两个数组合并为一个有序数组。 ...
分类:
其他好文 时间:
2019-12-29 12:51:56
阅读次数:
72