数据之间常见的逻辑结构包括:线性结构、关联结构(集合、映射)、树形结构、图形结构;
线性表是数据结构中最简单的基本数据结构. 数组、链表、栈、队列是四种最常见的线性表.
1. 数组/顺序表(Sequential List): - 通常使用数组实现。 - 元素在内存中是连续存放的。 - 插入和删除操作可能需要移动大量的元素。 - 访问某个特定索引的元素非常迅速。
对数组的基本操作有查找、插入、删除。数组元素的直接访问/查找几乎没有开销,但是插入和删除操作需要移动数组元素,开销比较大,因此在插入和删除操作比较频繁的场合下,不适合用数组。 在数组中查找一个元素的时间复杂度为O(n)。如果数组元素是有序存储的,则使用二分查找可以将时间复杂度降到O(lgn);
2. 链表(Linked List): - 根据指针或链接连接其元素。 - 根据链接的类型,又可以细分为: - 单链表 (Singly Linked List): 每个元素只有一个指向下一个元素的指针。 - 双链表 (Doubly Linked List): 每个元素有两个指针,一个指向前一个元素,另一个指向下一个元素。 &