数据结构
暗影岛-寒冰射手
这个作者很懒,什么都没留下…
展开
-
什么是B-Tree
B-Tree就是我们常说的B树,一定不要读成B减树,否则就很丢人了。B树这种数据结构常常用于实现数据库索引,因为它的查找效率比较高。磁盘IO与预读磁盘读取依靠的是机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加就是一次磁盘IO的时间,大概9ms左右。这个成本是访问内存的十万倍左右;正是由于磁盘IO是非常昂贵的操作,所以计算机操作系统对此做了优化:预读;每一次IO时,不仅仅把...转载 2018-06-30 10:48:01 · 139 阅读 · 0 评论 -
索引 ----- 二叉树、平衡二叉树、b-tree、b+tree详解(强烈推荐精)
https://blog.csdn.net/qq_36098284/article/details/80178336转载 2018-12-11 22:34:31 · 220 阅读 · 0 评论 -
平衡二叉树详解
https://www.cnblogs.com/zhangbaochong/p/5164994.html转载 2018-12-11 21:06:23 · 103 阅读 · 0 评论 -
【经典数据结构】B树与B+树
https://www.cnblogs.com/vincently/p/4526560.html转载 2018-12-10 20:28:17 · 102 阅读 · 0 评论 -
【经典数据结构】B树与B+树
https://www.cnblogs.com/vincently/p/4526560.html转载 2018-12-10 20:22:40 · 97 阅读 · 0 评论 -
b+树图文详解
https://blog.csdn.net/qq_26222859/article/details/80631121转载 2018-12-10 20:16:39 · 172 阅读 · 1 评论 -
Sedgewick的红黑树
红黑树一直是数据结构中的难点,大部分关于算法与数据结构的学习资料(包括《算法导论》)对于这部分的讲解都是上来就下定义,告诉我们红黑树这个性质那个性质,插入删除要注意1234点,但是基本没有讲为什么这样定义红色和黑色,让人理解起来十分费力。直到我看了下图这本书中关于红黑树部分的讲解,一时间豁然开朗,上网查了下这本书的作者Sedgewick,他是伟大的高德纳的学生!红黑树的发明者! 他...转载 2018-12-13 20:45:17 · 237 阅读 · 0 评论 -
红黑树详细分析,看了都说好(精,强烈推荐)
1. 红黑树简介红黑树是一种自平衡的二叉查找树,是一种高效的查找树。它是由 Rudolf Bayer 于1972年发明,在当时被称为对称二叉 B 树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的红黑树。红黑树具有良好的效率,它可在 O(logN) 时间内完成查找、增加、删除等操作。因此,...转载 2018-12-13 20:22:50 · 234 阅读 · 0 评论 -
什么是算法
1、什么是算法算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。mark:我们可以把所有的算法想象为一本“菜谱”,特定的算法比如菜谱中的的一道“老醋花生米”的制作流程,只要按照菜谱的要求制作老醋花生米,那么谁都可以做出一道好吃的老醋花生米。so,这个做菜的步骤就可以理解...转载 2018-08-08 20:22:58 · 3491 阅读 · 0 评论 -
数据结构---图的详细介绍
1、名词解释:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在图中的数据元素,我们称之为顶点(Vertex),顶点集合有穷非空。在图中,任意两个顶点之间都可能有关系,顶点之间的逻辑关系用边来表示,边集可以是空的。图按照边的有无方向分为无向图和有向图。无向图由顶点和边组成,有向图由顶点和弧构成。弧...转载 2018-06-28 19:34:37 · 448 阅读 · 0 评论 -
数据结构----完全二叉树和满二叉树以及前序、中序、后序遍历
一) 满二叉树和完全二叉树 1.满二叉树定义:又叫Full Binary Tree. 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点(最后一层上的无子结点的结点为叶子结点)。也可以这样理解,除叶子结点外的所有结点均有两个子结点。节点数达到最大值。所有叶子结点必须在同一层上。 如图: 2.完全二叉树定义:完全二叉树(Complete Binary Tree...转载 2018-06-28 09:56:23 · 10139 阅读 · 0 评论 -
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此採用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁,而对于广度遍历来说,须要其他数据结构的支撑。比方...转载 2018-06-27 20:53:39 · 129 阅读 · 0 评论 -
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此採用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁,而对于广度遍历来说,须要其他数据结构的支撑。...转载 2018-10-29 18:00:05 · 3315 阅读 · 0 评论 -
二叉树的几个基本性质
转载 2018-06-27 09:42:40 · 3428 阅读 · 1 评论 -
数据结构—平衡二叉树
二叉排序树集中了数组的查找优势以及链表的插入、删除优势,因此在数据结构中占有一定的地位。但在一定的情况下二叉排序树又有可能变为链表,例如插入从1~100的数,这时进行数据查找的效率就要降低。为了解决二叉排序树这种左右子树深度不均匀的情况引入了一种平衡二叉树(AVLTree):任何一个节点的左右子树深度差不超过1.通过这个限定,阻止了二叉树的左右子树深度差较大的情况,维持了二叉树的稳定。 如何让...转载 2018-06-30 11:44:06 · 200 阅读 · 0 评论 -
B+树
B+树B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。B+树的定义十分复杂,因此只简要地介绍B+树:B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶节...转载 2018-06-30 11:01:38 · 332 阅读 · 0 评论 -
浅谈数据结构-平衡二叉树
平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫AVL树。平衡二叉树要求对于每一个节点来说,它的左右子树的高度之差不能超过1,如果插入或者删除一个节点使得高度之差大于1,就要进行节点之间的旋转,将二叉树重新维持在一个平衡状态。这个方案...转载 2018-06-30 11:00:53 · 382 阅读 · 1 评论 -
zset类型以及其操作
sorted set类型sorted sets类型以及其操作zset是set的一格升级版本,它在set的基础上增加了一格顺序属性,这一属性在添加元素的同时可以指定,每次指定后,zset会自动重新按照新的值调整顺序。可以理解为有两列的mysql表,一列存储value,一列存储顺序。操作中key理解成zset的名字。zadd向名称为key的zset中添加元素member,score用于排序,如...转载 2018-12-29 15:19:35 · 516 阅读 · 0 评论