搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
5年测试面试要20K,面试三个问题把我打发走了···_requests中sign签名与token
2
idea中添加单元测试@Test注解引入_idea添加test注解
3
android jni Log
4
ML - 决策树 Code_ml code give away
5
区块链白皮书:基础建设见成效,国产自主生态正发展壮大
6
数据库系统概论期末考试卷【详解】_数据库系统概论 试卷
7
迁移学习:如何为您的机器学习问题选择正确的预训练模型_使用预训练模型 结构必须一样吗
8
postman接口测试,1个参数有好几个值的时候如何测试比较简单快速?_postman一个参数多个值
9
AutoCAD 2020绿色破解版|Autodesk AutoCAD 2020绿色便携免安装版下载_autocad绿色便携版
10
【数学建模】—【Python库】—【Numpy】—【学习】
当前位置:
article
> 正文
数据结构分类总结[多达80种,offer收割机]
作者:从前慢现在也慢 | 2024-06-16 10:06:23
赞
踩
数据结构分类总结[多达80种,offer收割机]
线性结构
:
数组(Array)
链表(Linked List):包括单链表、双向链表和循环链表
栈(Stack):后进先出(LIFO)的数据结构
队列(Queue):先进先出(FIFO)的数据结构
双端队列(Deque):允许在两端进行插入和删除操作
非线性结构
:
树(Tree):包括二叉树、平衡二叉树、二叉搜索树、AVL树、红黑树等
图(Graph):包括有向图、无向图、加权图、无权图等
散列结构
:
哈希表(Hash Table):通过哈希函数将键映射到表中的位置
索引结构
:
B树(B-Tree):用于数据库和文件系统中的索引结构
B+树(B+-Tree):B树的变体,所有数据都存储在叶子节点
堆结构
:
二叉堆(Binary Heap):包括最大堆和最小堆
其他高级数据结构
:
优先队列(Priority Queue)
集合(Set)和多重集合(Multiset)
字典(Dictionary)或映射(Map)
并查集(Disjoint Set Union,DSU)
布隆过滤器(Bloom Filter)
后缀树(Suffix Tree)
后缀数组(Suffix Array)
树状数组(Trie):又称前缀树或字典树
特殊用途的数据结构
:
线段树(Segment Tree)
动态规划中的表格
矩阵链乘问题中的最优子结构
并行和分布式数据结构
:
并行数据结构:用于多核处理器或分布式计算环境中
分布式数据结构:用于分布式系统中,如分布式哈希表(DHT)
自适应数据结构
:
动态数组(Dynamic Array):如C++中的std::vector,Java中的ArrayList。
动态字符串(Dynamic String):允许在字符串中间插入和删除字符。
空间划分数据结构
:
四叉树(Quadtree):用于二维空间的划分,常用于地理信息系统和图像处理。
八叉树(Octree):三维空间的划分,常用于三维空间的快速检索。
几何数据结构
:
凸包数据结构(Convex Hull Data Structure):用于存储点集的凸包。
图论算法中的辅助数据结构
:
最短路径树(Shortest Path Tree):如Dijkstra算法或Bellman-Ford算法中使用的。
最小生成树(Minimum Spanning Tree, MST):如Prim算法或Kruskal算法中使用的。
流数据结构
:
布隆过滤器(Bloom Filter):用于快速判断元素是否在一个集合中。
计数布隆过滤器(Counting Bloom Filter):布隆过滤器的扩展,可以删除元素。
外部数据结构
:
外部排序(External Sorting):当数据太大无法一次性加载到内存时使用。
缓存数据结构
:
LRU缓存(Least Recently Used Cache):最近最少使用算法。
LFU缓存(Least Frequently Used Cache):最少使用频率算法。
序列化和反序列化数据结构
:
用于将数据结构转换为字节序列,以便存储或传输。
并发数据结构
:
线程安全的队列、栈、集合等,用于多线程环境中。
数据库索引数据结构
:
哈希索引、B树索引、位图索引等,用于数据库中快速检索数据。
压缩数据结构
:
用于减少数据存储空间的数据结构,如前缀树的压缩变体。
特殊用途的数据结构
:
环形缓冲区(Circular Buffer):固定大小的缓冲区,用于数据流的缓存。
滑动窗口(Sliding Window):用于处理数据流中的固定大小窗口问题。
平衡树的变种
:
Splay树:一种通过旋转操作来重新平衡的二叉搜索树。
Treap:二叉搜索树的变种,使用随机生成的优先级来保持平衡。
线段树的变种
:
懒惰线段树(Lazy Segment Tree):用于延迟更新操作,提高效率。
树状数组(Binary Indexed Tree, BIT)
:
又称为Fenwick树,用于处理序列数据的加法和前缀和问题。
后缀自动机(Suffix Automaton)
:
一种用于处理字符串后缀的自动机结构,可以用于多种字符串匹配问题。
区间树(Interval Tree)
:
用于存储区间数据,并快速查询重叠区间。
曼哈顿距离树(Manhattan Distance Tree)
:
用于二维空间中计算曼哈顿距离的树结构。
K-D树(K-Dimensional Tree)
:
一种用于k维空间的分割树,用于快速检索。
网络流数据结构
:
用于网络流问题,如最大流问题和最小费用流问题。
近似最近邻(Approximate Nearest Neighbor, ANN)
:
用于在高维空间中快速找到近似的最近邻。
数据流中的摘要数据结构
:
如计数器、T-Digest等,用于估计数据流中的分布。
分块数据结构
:
将数据分成块,每块使用不同的数据结构来优化特定操作。
自适应字典树(Adaptive Dictionary Tree)
:
一种可以根据字符串的频率动态调整的字典树。
网格数据结构
:
用于表示和操作二维或多维网格数据。
位图索引(Bitmap Index)
:
一种使用位数组来表示数据的存在或不存在的索引结构。
数据流中的MQ(Median, Quantile)树
:
用于估计数据流中的中位数或其他分位数。
数据流中的Cuckoo哈希
:
一种哈希表结构,允许多个键映射到同一个位置。
数据流中的HyperLogLog
:
一种用于估计数据流中不同元素数量的数据结构。
数据流中的MinHash
:
用于估计数据集中的近似Jaccard相似度。
Skip List
:
一种概率平衡的数据结构,它允许快速地进行搜索、插入和删除操作。
Cuckoo Filter
:
一种高效的近似集合数据结构,用于快速检查元素是否存在。
Rope
:
一种用于高效存储和操作长字符串的数据结构。
Skip Graph
:
一种分布式系统中使用的图结构,允许快速查找和遍历。
Van Emde Boas Tree
:
一种用于存储和快速检索有限范围内的整数的数据结构。
Y-fast Trie
:
一种用于存储字符串集合的数据结构,它结合了Trie和二叉搜索树的优点。
X-fast Trie
:
Y-fast Trie的改进版本,进一步优化了空间和时间效率。
后缀数组的变种
:
如双后缀数组(Double Suffix Array)等。
LZW压缩算法
:
一种用于无损数据压缩的算法,它构建了一个基于输入数据的字典。
B树的变种
:
如B*树,它是一种优化的B树,用于减少磁盘I/O操作。
关联数组
:
一种使用键值对存储数据的数据结构,类似于哈希表。
Fat/Slim树
:
一种用于数据库索引的数据结构,它结合了B树和B+树的特点。
Hopscotch哈希
:
一种哈希表的变体,它允许哈希表在高负载因子下保持性能。
配对堆(Pairing Heap)
:
一种基于二叉树的自适应堆结构,具有优秀的平均性能。
斐波那契堆(Fibonacci Heap)
:
一种具有优异的摊还分析性能的堆结构。
网络流算法中的预流图(Preflow Graph)
:
在最大流问题中使用的数据结构。
网格哈希(Grid Hash)
:
一种用于快速检索二维空间中对象的哈希表。
动态图数据结构
:
用于存储和操作图中的边和顶点,允许动态添加和删除。
区间最小/最大查询数据结构
:
用于快速查询区间内的最小或最大值。
树状数组的变种
:
如RMQ树(Range Minimum Query Tree),用于区间最小值查询。
多维数据结构
:
如k-d树、多维数组等,用于多维数据的存储和检索。
位图索引(Bitmap Index)
:
用于快速检索布尔值数据。
并查集的变种
:
如路径压缩的并查集,用于快速的联合和查找操作。
差分数组
:
一种用于快速区间更新和区间查询的数据结构。
持久化数据结构
:
允许在多个版本中存储和访问数据结构的状态。
堆栈森林(Stack Forest)
:
一种用于模拟多个栈的数据结构,可以高效地合并和拆分栈。
队列森林(Queue Forest)
:
类似于堆栈森林,但用于模拟多个队列。
线性同构树(Linear Homogeneous Tree)
:
一种用于区间查询和区间更新的数据结构。
线段树的优化版本
:
如树状线段树(Segment Tree with Lazy Propagation)。
树状数组的优化版本
:
如可持久化树状数组(Persistent Binary Indexed Tree)。
链表的变种
:
如循环链表、双向循环链表、有序链表等。
栈的变种
:
如后缀表达式栈、逆波兰表达式栈等。
队列的变种
:
如优先队列、指数级退避队列等。
哈希表的变种
:
如开放寻址法哈希表、链表法哈希表等。
图的变种
:
如邻接表、邻接矩阵、十字链表、边集数组等。
树状图(Tree Graph)
:
结合了树和图的特点,用于表示具有层次结构的图。
有向无环图(Directed Acyclic Graph, DAG)
:
一种特殊的图,没有环,常用于拓扑排序和任务调度。
并查集的优化版本
:
如按秩合并(Union by Rank)和路径压缩(Path Compression)。
配对堆(Pairing Heap)
:
一种基于树的自适应堆结构,具有优秀的平均性能。
斐波那契堆(Fibonacci Heap)
:
一种具有优异的摊还分析性能的堆结构。
二项堆(Binary Heap)
:
一种基于完全二叉树的堆结构,可以是最大堆或最小堆。
红黑树的变种
:
如SB树(Scatter-Bound Tree)等。
AVL树的变种
:
如2-3树、2-4树等。
Treap(树堆)
:
结合了二叉搜索树和堆的特性。
字典树(Trie)的变种
:
如压缩字典树(Compressed Trie)、后缀字典树(Suffix Trie)等。
区间树的变种
:
如区间线段树(Interval Segment Tree)等。
多关键字搜索树(Multi-Keyword Search Tree)
:
一种用于多属性搜索的树结构。
动态图的变种
:
如动态并查集、动态图的邻接表等。
网格数据结构的变种
:
如二维数组、二维链表等。
特殊矩阵的存储结构
:
如对称矩阵、稀疏矩阵等。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/726188
推荐阅读
article
【
数据结构
】
队列
的
应用
(
详解)...
队列
作为一种基础
的
数据结构
,在多种场景下都有重要
的
应用。从简单
的
打印机任务
队列
到复杂
的
图遍历算法
(
如BFS),
队列
都发挥...
赞
踩
article
数据结构
--
树状
数组...
树状
数组或二叉索引树(Binary Indexed Tree),又以其发明者命名为 Fenwick 树。其初衷是解决数据...
赞
踩
article
【
数据结构
】
排序
——
插入
排序
,
选择
排序
...
前言本篇博客我们正式开启
数据结构
中的
排序
,
说到
排序
,
我们能联想到我之前在C语言博客中的冒泡
排序
,
它是
排序
中的一种
,
但实现...
赞
踩
article
数据结构
(C):
二叉树
前中
后序
和
层序
详解及代码实现及深度刨析...
言C之言,聊C之识,以C会友,共向远方。各位博友的各位你们好啊,这里是持续分享
数据结构
知识的小赵同学,今天要分享的数据结...
赞
踩
article
C
/
C
++
数据结构
(六) ——
循环
队列
_
c++
循环
队列
...
循环
队列
是一种线性
数据结构
,其操作表现基于 先进先出 原则并且 队尾被连接在队首之后以形成一个
循环
。_
c++
循环
队列
c...
赞
踩
article
【
数据结构
】循环
队列
_循环
队列
存放在数组
q
[
n
]中。
h
指向
头
元素
,
t
指向
队尾
元素
的后一个位置。设
队列
...
#i
n
clude#i
n
clude#i
n
clude#i
n
clude#defi
n
e TRUE 1#defi
n
e FALSE ...
赞
踩
article
数据结构
—
循环
队列
操作及实现(CC++)_
c++
for
循环
合并...
数据结构
—
循环
队列
操作及实现(C/C++)文章目录
数据结构
—
循环
队列
操作及实现(C/C++)1.0初始化定义1.1
循环
...
赞
踩
article
第94篇
C++
数据结构
(
四
)
队列
_
线程
队列
保存字符...
第94篇
C++
数据结构
(
四
)
队列
1.
队列
简介1.
队列
的存储结构2.节点3.实现3.1.变量3.2.方法4.测试4.1....
赞
踩
article
C/
C++
数据结构
-完整
代码
(三)
队列
【
Queue
】(
顺序
存储
,链式
存储
)增删改查_
队列
数据结构
代码
...
队列
1、
队列
的基本概念
队列
是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(r...
赞
踩
article
队列
的实现(
完整
代码
+详细注释版)【
数据结构
】_
数据结构
顺序
队列
完整
代码
...
注释详细
完整
且健壮的两种方式实现
队列
的
代码
:
顺序
队列
//// main.c// SequenceQueue//// Cr...
赞
踩
article
数据结构
——
队列
的
实现
_
数据结构
队列
代码
...
这个结构体可以用来
实现
一个
队列
数据结构
,其中 head 指向
队列
的开头,tail 指向
队列
的结尾,size 记录
队列
中节...
赞
踩
article
【
数据结构
】
队
列
「介绍+完整
代码
+调试」_
队
列
入
队
和出
队
代码
...
队
列
:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,
队
列
具有先进先出 FIFO(First In ...
赞
踩
article
【
数据结构
】
队列
(
Queue
)
的
实现
-- 详解_
队列
代码
...
只允许在一端进行插入数据操作,在另一端进行删除数据操作
的
特殊线性表,
队列
具有:进行操作
的
一端称为。:进行操作
的
一端称为。...
赞
踩
article
数据结构
——
队
列
_
数据结构
队
列
入
队
出
队
...
一、
队
列
的概念 二、
队
列
的实现 1. 创建
队
列
2.
队
列
初始化 3. 销毁
队
列
4. 入
队
5.
出
队
6. 判空 7....
赞
踩
article
数据结构
-C
语言
实现
队
列进
队
、出
队
等
基本操作
(内含图解)_
c
语言
编程
队
思想...
插入:先开辟新的结点,把数据放进去,并且让新的结点的next指向null,再让原来的tail指向新的结点。删除:先定义一...
赞
踩
article
C++
数据结构
-6-
队列
_
c++
队列
...
基于
C++
的
数据结构
-6-
队列
_
c++
队列
c++
队列
文章目...
赞
踩
article
数据结构
(
C
):从初识堆到
堆排序
的
实现
...
言
C
之言,聊
C
之识,以
C
会友,共向远方。各位博友
的
各位你们好啊,这里是持续分享知识
的
小赵同学,今天要分享
的
知识是,在这一...
赞
踩
article
数据结构
—
链
队
的操作及实现(C
C++
)_
链
队列
的
初始化
,
入队
,
出队
,取队头元素的主函数的代码...
数据结构
—
链
队
的操作及实现(C/
C++
)文章目录
数据结构
—
链
队
的操作及实现(C/
C++
)1.0
初始化
定义1.1
链
队
的结构...
赞
踩
article
C
/
C
++数据
结构
:
队列
结构
最全
解析
!带你零基础入门
队列
结构
_
结构
体
队列
c++
...
前言上一章节针对于
C
语言栈
结构
做了
解析
,不清楚的可以回顾一下。本章节主要针对于
C
语言的基础数据
结构
队列
做以
解析
。数据
结构
...
赞
踩
article
[
C
/
C
++]
数据结构
循环
队列
_
c++
循环
队列
...
front用于维护队头,指向队头元素位置,back用于维护队尾,总是指向队尾元素的下一个位置,k表示
队列
实际存数据的长度...
赞
踩
相关标签
数据结构
算法
c语言
开发语言
b树
二叉树前中后序遍历
二叉树层序遍历
C语言
队列
循环队列
c++
指针
链表
microsoft