LSM-Tree:原理与介绍

  LSM Tree(log-structured merge-tree)是一种文件组织结构的数据结构,目前在不少数据库中都有使用到,如SQLite、LevelDB、HBase在Mongodb中也有一个LSM引擎;   在传统的关系型数据库中使用的是B-/B+ tree作为索引的数据结构,B tre

再回首数据结构—红黑树(一)

  红黑树与AVL树一样同为二分搜索树,红黑树又称为是保持“黑平衡”的二叉树,红黑树最大高度为:2logn,红黑树由这么几个独特的特征:   1、每个节点或黑或红   2、根节点为黑色   3、每个叶子节点(最后的空节点)都为黑色   4、如果一个节点为红色,则他孩子节点全为黑色   5、从任意节点

再回首数据结构—AVL树(二)

  前面主要介绍了AVL的基本概念与结构,下面开始详细介绍AVL的实现细节; AVL树实现的关键点   AVL树与二叉搜索树结构类似,但又有些细微的区别,从上面AVL树的介绍我们知道它需要维护其左右节点平衡,实现AVL树关键在于标注节点高度、计算平衡因子、维护左右子树平衡这三点,下面分别介绍; 标注

再回首数据结构—AVL树(一)

  前面所讲的二叉搜索树有个比较严重致命的问题就是极端情况下当数据以排序好的顺序创建搜索树此时二叉搜索树将退化为链表结构因此性能也大幅度下降,因此为了解决此问题我们下面要介绍的与二叉搜索树非常类似的结构就诞生了;   AVL(Adelson-Velskii and Landis)树,名字取自其发明

基础算法——排序【一】

  排序可以说时最基础的算法之一,排序就是将数据按照某种逻辑重新排列的过程,比如从大到小排序、从小到大排序;排序非常常见比如有购物车物品的排序、历史订单的排序等等;算法我们比较关心的主要有两点:时间复杂度与空间复杂度,排序算法一样;这篇文章只介绍几种基本的排序算法:冒泡排序、插入排序、选择排序; 选

再回首数据结构—链表

  链表与数组一样同为线性数据结构,不少编程语言也自带了链表的实现,链表可以存放不同数据类型的数据;   与数组不同,数组占用内存结构必须为连续,而链表则不需要内存空间为连续的;链表由多个节点连接而成,每个节点除了存储当前节点的值外还存有指向链表中下一个节点的地址;链表也有多种结构:单链表、双向链表

再回首数据结构—数组(Golang实现)

  数组为线性数据结构,通常编程语言都有自带了数组数据类型结构,数组存放的是有个相同数据类型的数据集;   为什么称数组为线性数据结构:因为数组在内存中是连续存储的数据结构,数组中每个元素最多只有左右两个方向有相邻的元素;数组中的每个元素都有一个索引(或称下标)标识,这个索引在编程语言中通常都是从0
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×