数据结构
文章平均质量分 92
梳碧湖的敲键人
学如逆水行舟,不进则退。心似平原跑马,易放难收。
展开
-
SkipList ----- 跳表
1.跳表,也是基于链表实现的,他其实和链表一样,也是一个数据结构中的查找结构,用于解决一些查找问题而产生。链表我们知道,每次都是一个节点指向一个节点,中间没有跳过任何节点,一条路指到头的,所以他的查找的时间复杂度都是O(N)。如下图,就是一个链表的形式。因为链表的查找时间很慢,所以制造跳表的人就想了想,如果说每次相邻的两个节点升高一层,增加一个指针,让指针指向下下个节点,这样新增加的节点又构成了一个链表,并且长度是原来链表长度的一般,这样我们查找一个数的时候,查找效率会提高一倍。原创 2022-10-07 00:26:24 · 627 阅读 · 1 评论 -
B-树----(多插平衡树)
B树:有序数组+平衡多叉树。B+树:有序数组链表+平衡多叉树。B*树:一棵更丰满的,空间利用率更高的B+树。原创 2022-09-17 21:46:09 · 452 阅读 · 0 评论 -
图Graph
1.图是什么?图是由顶点集合及顶点间的关系组成的一种数据结构:G = (V, E)。其中:而:顶点和边:图中结点称为顶点,第i个顶点记作vi。两个顶点vi和vj相关联称作顶点vi和顶点vj之间有一条边,图中的第k条边记作ek,ek = (vi,vj)或。(x, y)表示x到y的一条双向通路,即(x, y)是无方向的;Path(x, y)表示从x到y的一条单向通路,即Path(x, y)是有方向的。(所以就有了图的两个结构,一个是有向图,一个是无向图)2.有向图和无向图①有向图和无向图:在有向原创 2022-09-08 14:44:42 · 705 阅读 · 0 评论 -
并查集UnionFindSet (ufs)
①例子:比如有10个人去了学校,其中4个人是来自同一个地方的,3个人是来同自一个地方的,剩下3个人也是来自同一个地方的,那么开始这10个人是互不相识的,都是一个小个体,然后给这个几个人进行标识{0,1,2,3,4,5,6,7,8,9};但是没过多久,这几个人因为是来自同一个地方的人有相同的爱好,就走到了一起,所以这几个人要组合。我们用森林的形式进行表示,取一个该组的成员成为根(其实这个根随便选,只要是该组的一个就好了,而我们为了方便,以小号选择根节点),其他属于该组的成员成为其孩子节点就好了。...原创 2022-08-31 21:56:59 · 385 阅读 · 0 评论