
算法
文章平均质量分 74
xiaoyaocbc
这个作者很懒,什么都没留下…
展开
-
数据结构之红黑树——红黑树是2-3-4B树的一种实现
红黑规则是很好理解的,死记硬背也能背下来,但是如果放到复杂的实际应用中可能我们就懵了。今天在看一篇文章后,我才学到了从红黑树的概念模型2-3-4树出发,理解了红黑树五大定义背后的逻辑 ,深刻认识到红黑节点颜色背后的意义,对于插入删除引发的动态变化有一定的认识,而不再是去硬性的记忆某个场景下的调平操作。原创 2022-10-25 10:41:44 · 925 阅读 · 1 评论 -
数据结构之跳表
当我们在跳表中插入数据的时候,我们通过选择同时将这个数据插入到部分索引层中,如何选择索引层,可以通过一个随机函数来决定这个节点插入到哪几级索引中,比如随机生成了k,那么就将这个索引加入到,第一级到第k级索引中。普通链表的每个结点指向后驱结点是唯一的,而跳表中某些结点指向的后驱结点有多个,这多个结点是处在不同“层级”上的。如下图,在这个跳表中,1的后驱结点有2,3,5;链表我们都知道,链表的查询时间复杂度是O(n),而跳表的查询时间复杂度是O(log n),那么它是如何优化时间复杂度的呢?原创 2022-10-19 20:20:13 · 151 阅读 · 0 评论 -
数据结构之B树/B+树
B树,又称多路平衡查找树,B树中所有节点的孩子个数的最大值称为B树的阶,通常用m表示。一颗m阶B树或为空树,或为满足如下特性的m叉树:(1)树中每个节点至多有m棵子树,即至多含有m-1个关键字。(2)若根节点不是终端结点,则至少有两棵子树。(3)除根节点外的所有非叶节点至少有⌈m/2⌉棵子树,即至少含有⌈m/2⌉-1个关键字。(⌈⌉表示向上取整,例如⌈1.001⌉ = 2)(4)所有的叶结点都出现在同一层次上,并且不带信息,即指向叶子结点的指针为空。原创 2022-10-18 21:33:02 · 631 阅读 · 0 评论