计算机科学的基础构建模块
连续内存空间存储相同类型元素的集合,通过索引访问元素。
基础数据存储、矩阵表示、缓存系统、查找表等。
节点通过指针连接的非连续存储结构,包括单链表、双链表和循环链表。
实现栈和队列、内存管理、哈希表冲突解决、浏览器历史记录等。
后进先出(LIFO)的数据结构,只允许在栈顶进行插入和删除操作。
函数调用栈、表达式求值、括号匹配、浏览器后退功能等。
先进先出(FIFO)的数据结构,包括普通队列、双端队列和优先队列等变种。
BFS算法、任务调度、消息队列、打印机任务管理等。
通过哈希函数将键映射到存储位置的键值对集合,提供高效的数据访问。
字典实现、数据库索引、缓存系统、对象属性存储等。
每个节点最多有两个子节点的树结构,包括二叉搜索树、平衡二叉树等变种。
文件系统、数据库索引、表达式树、决策树等。
完全二叉树,满足堆性质(最大堆或最小堆),常用于实现优先队列。
堆排序、优先队列、Dijkstra算法、哈夫曼编码等。
由顶点和边组成的集合,可以是有向或无向的,加权或未加权的。
社交网络、路由算法、推荐系统、依赖关系分析等。
多层链表结构,通过随机化方式构建索引,提供类似平衡树的性能。
Redis有序集合、LevelDB等数据库索引、替代平衡树的场景。
前缀树或字典树,用于高效存储和检索字符串集合,共享公共前缀。
自动补全、拼写检查、IP路由、单词游戏等字符串处理场景。