红黑树(R-B Tree)
红黑树(R-B Tree) " R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。" R-B Tree简介 红黑树的特性 每个节点是黑色或者红色。; 根节点是黑色。; 每个叶子节点都是黑色(指向空的叶子节点)。; 如果一个叶子

Mr.LR2022年7月29日
大约 9 分钟
平衡二叉树(AVL)
平衡二叉树(AVL) 简介 平衡二叉树(Balanced Binary Tree),又称AVL树,指的是左子树上的所有节点的值都比根节点的值小,而右子树上的所有节点的值都比根节点的值大,对于任意一个节点,左子树与右子树的高度差最大为1。 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1;而右边的不是AVL树,因为7的两颗子树的高度相

Mr.LR2022年7月21日
大约 15 分钟
mysql-索引的数据结构
mysql-索引的数据结构 1. 索引及其优缺点 1.1 索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。 1.2 优点 (1)类似

Mr.LR2022年6月6日
大约 32 分钟
基础排序算法
基础排序算法 " 本章主要介绍几种比较简答的排序算法" 选择排序(Selection sort) 基本思想 首先在未排序的数列中找到最小(or最大)元素,然后将其存放到数列的起始位置;接着,再从剩余未排序的元素中继续寻找最小(or最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 代码实现 选择排序算法复杂度 选择排序的时间复杂度是O(

Mr.LR2022年5月19日
大约 4 分钟
归并排序(Merge Sort)
归并排序(Merge Sort) 基本思想 分解:将当前区间一分为二,即求分裂点mid = (l+r)/2 求解:递归对两个子区间arr[l,mid]、arr[mid+1,r]进行排序。递归的终止条件子区间(长度为1)l>=r 合并:将已经排序的两个子区间arr[l,mid]、arr[mid+1,r]合并 ​ " 其中分解和求解很好理解。" 合并的思路:

Mr.LR2022年5月19日
大约 2 分钟
二叉搜索树
二叉搜索树 1、简介 二叉查找树(Binary Search Tree),又被称为二叉搜索树。 它是特殊的二叉树:对于二叉树,假设x为二叉树中的任意一个结点,x节点包含关键字key,节点x的key值记为key[x]。如果y是x的左子树中的一个结点,则key[y] = key[x]。那么,这棵树就是二叉查找树。如下图所示: 在二叉查找树中: 若任意节点的左子树

Mr.LR2022年4月23日
大约 8 分钟
线性数据结构
线性数据结构 1、数组 1.1知识点: 数组的优点: 存取速度快; 数组的缺点: 事先必须知道数组的长度; 插入删除元素很慢; 空间通常是有限制的; 需要大块连续的内存块; 插入删除元素的效率很低; 1.2实现一个动态数组 由于数组长度时固定的,因此动态数组,在每次新增元素时,需要判断是否需要扩容; 2、链表 2.1知识点 链表优点 空间没有限制;

Mr.LR2022年4月14日
大约 10 分钟