
数据结构与算法
如果对你有帮助,就请点个赞吧~
王义凯_Rick
如果对你有帮助,就请点个赞吧~
展开
-
数据结构(四)、LSM树(日志结构合并树)
传统关系型数据库大都使用B-Tree或其变体作为存储结构,能够进行高效查找。但保存在磁盘中时它也有一个明显的缺陷,那就是逻辑上相离很近但物理却可能相隔很远,这就可能造成大量的磁盘随机读写。因此对于关系型数据库来说随机读写比顺序读写慢很多,为了提升IO性能,我们需要一种能将随机操作变为顺序操作的机制,于是便有了本篇要讲的LSM树。LSM树能让我们进行顺序写磁盘,从而大幅提升写操作,作为代价的是牺牲了一些读性能。因此在大数据生态下,很多数据库引擎都是使用LSM树存储引擎。原创 2020-08-05 22:31:25 · 1964 阅读 · 1 评论 -
数据结构(三)、B树,B+树,B*树
动态查找树主要有:二叉查找树,平衡二叉树,红黑树,B-tree/B+-tree/B*-tree。前三个都是典型的二叉树结构,查找的时间复杂度O(log2N)和树的深度相关,随着树的深度降低会提高查找效率。而在现实情况中大部分数据存储在磁盘中,对于数据量比较大的情况下,对导致二叉树结构的深度也随之变大造成磁盘IO读写频繁导致查询效率低下,因此大部分关系型数据库都使用本篇要介绍的B+Tree结构,要理解B+树,需要先理解B树,本篇也会一起介绍B*树。原创 2020-08-04 21:32:06 · 3841 阅读 · 1 评论 -
数据结构(二)、红黑树(RBT)
红黑树是一种自平衡的二叉树,在插入和删除操作时可能会打破树的平衡,它会重新自处理以达到平衡状态。红黑树是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(logn)时间内做查找,插入和删除,这里的n是树中元素的数目。原创 2020-07-30 18:44:32 · 934 阅读 · 0 评论 -
数据结构(一)、二叉树(BT),二叉查找树(BST),平衡二叉树(AVL树)
数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、红黑树等等。本文中对数据结构中的二叉树以及二叉查找树,平衡二叉树AVL进行介绍,如果对你有帮助的话,请点个赞吧~谢谢!原创 2020-07-30 01:39:03 · 5110 阅读 · 0 评论