
数据结构 高阶
文章平均质量分 90
更复杂的数据结构
且听吟风°
扣:903199567
展开
-
05 跳表
skiplist本质上也是一种查找结构,用于解决算法的查找问题,跟平衡搜索树和哈希表的价值是一样的,可以作为Key或者Key/Value的查找模型。那么相对比而言它的优势是什么?skiplist是由William Pugh发明的,最早出现于他在1990年发表的论文《Skip Lists: AProbabilistic Alternative to Balanced Trees》。对细节感兴趣的同学可以下载论文原文来阅读。skiplist,顾名思义,首先它是一个list。原创 2024-09-30 21:29:52 · 940 阅读 · 0 评论 -
04 B-树
B树:有序数组+平衡多茶树B+树:有序数组链表+平衡多叉树B*树:一颗丰满的,空间利用率更高的B+树内存查找B树没有优势:1.空间利用率低。消耗高2.插入删除数据时,分裂和合并节点,必然挪动数据3.虽然高度更低,但是在内存而言,和哈希和平衡搜索树还是一个量级mysql是目前非常流行的开源关系型数据库,不仅是免费的,可靠性高,速度也比较快,而且拥有灵活的插件式存储引擎索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式不同注意:索引是基于表的,而不是基于数据库的。原创 2024-09-29 23:11:05 · 1068 阅读 · 0 评论 -
03 LRU Cache
LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之间有Cache, 内存与硬盘之间也有Cache,乃至在硬盘与网络之间也有某种意义上的Cache── 称为Internet临时文件夹或网络内容缓存等。原创 2024-09-27 16:21:48 · 466 阅读 · 0 评论 -
02 图结构
图是由顶点集合及顶点间的关系组成的一种数据结构:G=(V,E),其中:顶点集合V={x | x属于某个数据对象集} 是有穷非空集合E= {(x,y) | x,y属于V}或者E={,x,y属于V && Path(x,y)}是顶点间关系的有穷集合,也叫做边的集合顶点和边:图中节点称为顶点,第i个顶点记作Vi,两个顶点vi和vj相关联成称作顶点vi和顶点vj之间有一条边,图中的第k条边记作ek,ek=(vi,v)或有向图和无向图:在有向图中,顶点对是有序的,顶点对原创 2024-09-26 10:32:30 · 659 阅读 · 0 评论 -
01 并查集
在一些应用问题中,需要将n个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于哪个集合的运算。适合于描述这类问题的抽象数据类型称为比如:公司全国招10人,西安招4人,成都3人,武汉3人,10人来自不同的地区,每个人都是一个独立的小团体,现给这些学生编号{0,1,2,3,4,5,6,7,8,9},给以下数组用来存储小集体,数组中的数字代表:该小集体中有成员的个数(负号下文解释)原创 2024-09-14 09:52:23 · 587 阅读 · 0 评论