数据结构可以分为两大类:基本数据结构和高级数据结构。
基本数据结构
- 数组(Array):固定大小的元素序列,可以通过索引快速访问。
- 链表(Linked List):元素按顺序链接,每个元素包含数据和指向下一个元素的引用。
- 栈(Stack):后进先出(LIFO)的数据结构,只能在一端(栈顶)进行添加或删除操作。
- 队列(Queue):先进先出(FIFO)的数据结构,只能在队尾添加元素,在队首删除元素。
- 树(Tree):一种分层的数据结构,由节点组成,每个节点有一个父节点(除了根节点),可以有零个或多个子节点。
- 图(Graph):由节点(顶点)和边组成,节点通过边相连,表示各种关系。
高级数据结构
- 哈希表(Hash Table):通过键值对存储数据,提供快速的插入、删除和查找操作。
- 堆(Heap):一种特殊的树形数据结构,每个父节点的值都大于或小于其所有子节点的值。
- 散列表(Hash Map/Dictionary):键值对的集合,通过哈希函数快速访问。
- 集合(Set):不包含重复元素的集合,通常基于哈希表或树实现。
- 多路树(Trie):一种用于快速检索字符串数据集中键的模式的数据结构。