算法
文章平均质量分 92
little sky
little sky
展开
-
MVCC的实现原理
MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。mvcc - @百度百科转载 2021-04-19 21:34:35 · 436 阅读 · 0 评论 -
MySQL索引底层:B+树详解
前言当我们发现SQL执行很慢的时候,自然而然想到的就是加索引。对于范围查询,索引的底层结构就是B+树。今天我们一起来学习一下B+树哈~树简介、树种类B-树、B+树简介B+树插入B+树查找B+树删除B+树经典面试题树的简介树跟数组,链表,堆栈一样,它由有限个节点组成,组成具有层次关系的集合,一颗普通的树如下:树的种类按照有序性,可以分为有序树和无序树无序树:树中任意节点的子结点之间没有顺序关系有序树:树中任意节点的子结点之间有顺序关系按照节点包含子树个数,可以分为B树和原创 2021-04-19 21:32:53 · 1087 阅读 · 0 评论 -
红黑树详细分析(转)
看见好的文章,然后细细品味,理解之后,转载到自己的博客中,也是一种学习!!1.红黑树简介红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1978年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好...转载 2019-11-24 15:06:33 · 149 阅读 · 0 评论 -
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了(转)
最近一直在看AVL树,也看了一些博客,这篇文章还是蛮能让人理解的,算法类的博客还是花点时间,耐心去理解的。这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作。1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。3、它的左右子树也分别可以充当为二叉查找树。例如:...转载 2019-11-24 10:40:06 · 200 阅读 · 0 评论 -
为什么MySQL用B+树做索引(转)
作者 l 安静的boy文章来源 l Hollis(ID:hollischuang)索引这个词,相信大多数人已经相当熟悉了,很多人都知道MySQL的索引主要以B+树为主,但是要问到为什么用B+树,恐怕很少有人能把前因后果讲述的很完整。本文就来从头到尾介绍下数据库的索引。索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量...转载 2019-11-14 07:39:52 · 135 阅读 · 0 评论 -
redis为什么采用跳表而不是红黑树详解
今天早上看到这样redis的面试题:redis为什么采用跳表而不是红黑树??面试题答案:在做范围查找的时候,平衡树比skiplist操作要复杂。在平衡树上,我们找到指定范围的小值之后,还需要以中序遍历的顺序继续寻找其它不超过大值的节点。如果不对平衡树进行一定的改造,这里的中序遍历并不容易实现。而在skiplist上进行范围查找就非常简单,只需要在找到小值之后,对第1层链表进行若干步的遍历就可以...原创 2019-10-28 08:13:09 · 9538 阅读 · 5 评论