
高阶数据结构
文章平均质量分 97
高阶数据结构
LuckyRich1
一个正在努力学习的小菜鸡
展开
-
【高阶数据结构】跳表
skiplist本质上也是一种查找结构,用于解决算法中的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为key或者key/value的查找模型。那么相比而言它的优势是什么呢?这么等我们学习完它的细节实现,我们再来对比。skiplist是由William Pugh发明的,最早出现于他在1990年发表的论文《Skip Lists: Askiplist,顾名思义,首先它是一个list。实际上,它是在有序链表的基础上发展起来的。如果是一个有序的链表,查找数据的时间复杂度是O(N)。原创 2024-09-11 10:07:06 · 1601 阅读 · 93 评论 -
【高阶数据结构】B树、B+树、B*树
内查找适合用于数据量相对不是很大,能够一次性存放在内存中,进行数据查找的场景。如果数据量很大,比如有100G数据,无法一次放进内存中,那就只能放在磁盘上了,如果放在磁盘上,有需要搜索某些数据,那么如何处理呢?那么我们可以考虑将存放关键字及其映射的数据的地址放到一个内存中的搜索树的节点中,找数据时比较关键字,找到关键字也就找到这个数据在磁盘的地址,然后去这个地址去磁盘访问数据。原创 2024-09-02 10:42:25 · 3411 阅读 · 100 评论 -
【高阶数据结构】LRU Cache
LRU是Least Recently Used的缩写,意思是**最近最少使用**,它是一种Cache替换算法。原创 2024-08-17 10:05:14 · 955 阅读 · 119 评论 -
【高阶数据结构】图
图是由顶点集合及顶点间的关系组成的一种数据结构。关于图的一些基本概念我们要清楚。图的创建有两种方法,一种是邻接矩阵,一种是邻接表。我们都有实现。图的遍历有BFS,DFS。构造最小生成树的方法:Kruskal算法和Prim算法。这两个算法都采用了逐步求解的贪心策略。Kruskal算法是在全局找最优解,Prim算法局部找最优解。最短路径分为单源最短路径和多源最短路径,单源最短路径有Dijkstra算法和Bellman-Ford算法,多源最短路径有FloydWarShall算法,我们都有实现。原创 2024-08-19 10:05:39 · 1990 阅读 · 146 评论 -
【高阶数据结构】并查集
并查集实际是一个森林,森林是由多棵互不相交的树组成的。那什么数据结构能把多颗树存下来呢?下面随着我们的学习就知道了。原创 2024-07-30 09:25:05 · 2006 阅读 · 99 评论