![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 58
JustWei_
这个作者很懒,什么都没留下…
展开
-
B+树
B+树B+树简介B+树是B树的一个升级版,相对于B树来说B+树更充分的利用了节点的空间,让查询速度更加稳定,其速度完全接近于二分法查找。B+树的特征有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身按照关键字的大小自小而大顺序链接。所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。B+树的优势单一节点转载 2021-04-14 16:46:06 · 74 阅读 · 0 评论 -
B树
B树B树简介B树(B-tree)是一颗多路平衡查找树。B树特性m为B树的阶数所有节点关键字是按递增次序排列,并遵循左小右大原则。1 < 非叶节点的子节点数 <= M(M>=2,空树除外)。除根结点和叶子结点外,其它每个结点有ceil(m/2)ceil(m / 2)ceil(m/2)个孩子。所有叶子结点都出现在同一层,叶子节点除了包含了关键字和关键字记录的指针外也有指向其子节点的指针只不过其指针地址都为 null。每个非终端结点中包含有n个关键字信息:原创 2021-04-14 16:19:34 · 92 阅读 · 0 评论 -
红黑树
红黑树红黑树简介红黑树(Red-Black Tree)是一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红色或黑色。红黑树特性每个节点或是黑色,或是红色。根节点是黑色。每个叶子节点是黑色。如果一个节点是红色的,则它的子节点必须是黑色的。从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。红黑树图示图示网站红黑树应用红黑树的应用比较广泛,主要是用它来存储有序的数据,它的时间复杂度是O(logn),效率非常之高。例如,Java集合中的 Tree原创 2021-04-14 15:33:42 · 59 阅读 · 0 评论 -
平衡二叉树
平衡二叉树平衡二叉树简介平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构。平衡二叉树性质平衡二叉树是一 棵空树或它的左右两个子树的高度差的绝对值不超过 1 ,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。平衡二叉树特性非叶子节点最多拥有两个子节点。非叶子节点的值大原创 2021-04-14 15:16:19 · 159 阅读 · 0 评论 -
Trie树
Trie树Trie树:Trie的典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。类的写法:class Trie { private: bool isEnd; Trie* next[26]; public: //初始化 Trie() { isEnd =原创 2021-04-14 11:47:58 · 86 阅读 · 1 评论 -
堆与栈
堆与栈1、数据结构的堆与栈堆和栈都是一种数据项按序排列的数据结构。1.1 堆堆是一种经过排序的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小或最大(小根堆/大根堆),且根结点的子树也是一个堆。由于堆的这个特性,常用来实现优先队列,堆的存取是随意的。1.2 栈栈是一种具有先进后出性质的数据结构,仅从容器的一端插入和提取元素。在栈的顶部,进行出栈和入栈操作。2、堆与栈的区别2.1 堆栈空间分配堆:由程序员手动分配释放, 若程序员不释放,程转载 2021-04-12 15:02:52 · 1359 阅读 · 0 评论