数据结构可以根据逻辑结构和物理结构(存储结构)进行分类,
1. 逻辑结构
逻辑结构描述数据元素之间的抽象关系,分为线性结构和非线性结构。
(1)线性结构
数据元素之间存在一对一的线性关系,每个元素最多有一个前驱和一个后继。
常见类型:
-
线性表:数组、链表(单链表、双向链表、循环链表等)。
-
栈(LIFO):后进先出,如函数调用栈。
-
队列(FIFO):先进先出,如任务调度队列。
-
字符串:字符的线性序列。
(2)非线性结构
数据元素之间存在一对多或多对多的复杂关系。
常见类型:
-
树形结构:
-
普通树、二叉树、二叉搜索树(BST)、AVL树、堆等。
-
元素之间存在
-