1. 数组(Array)
定义:一组相同数据类型的元素,存储在一块连续的内存空间中。
特点:
索引访问,时间复杂度为 O(1)。
插入和删除元素代价较高(非尾部操作需要移动元素)。
应用:适用于需要快速随机访问的场景,如图像处理、表格数据存储。
2. 链表(Linked List)
定义:一系列节点组成的线性表,每个节点包含数据和指向下一个节点的指针。
特点:
动态内存分配,不需要连续的内存空间。
插入和删除操作高效,时间复杂度为O(1)(在已知节点位置的情况下)。
随机访问性能较差,查找时间复杂度为 O(n)。
种类:
单向链表:每个节点只有一个指向下一个节点的指针。
双向链表:每个节点有指向前一个和后一个节点的指针。
循环链表:最后一个节点指向第一个节点,形成闭环。
应用:适用于需要频繁插入和删除的场景,如操作系统的任务队列。
|