【C++】【数据结构】链表与线性表

  1. 线性表和链表优缺点及适用场景
    • 线性表(以数组为例)
      • 优点:随机访问效率高,可通过下标直接访问元素,时间复杂度为 O (1);存储密度大,内存连续存储,空间利用率高。
      • 缺点:插入和删除操作效率低,平均时间复杂度为 O (n);需要预先分配固定大小的空间,若数据量动态变化大,可能造成空间浪费或不足。
      • 适用场景:适合频繁进行随机访问的场景,如数据查询,且数据量相对固定的情况。
    • 链表
      • 优点:插入和删除操作效率高,只需修改指针,平均时间复杂度为 O (1);无需预先分配固定空间,可动态分配,适应数据量动态变化的情况。
      • 缺点:不支持随机访问,访问元素需要从头开始遍历,时间复杂度为 O (n);存储密度低,每个节点除了数据域还需额外的指针域,占用更多空间。
      • 适用场景:适合频繁进行插入和删除操作的场景,如实现队列、栈等数据结构,数据量动态变化较大的情况。
相关推荐
wdfk_prog13 分钟前
[Linux]学习笔记系列 -- lib/timerqueue.c Timer Queue Management 高精度定时器的有序数据结构
linux·c语言·数据结构·笔记·单片机·学习·安全
zhuzhuxia⌓‿⌓15 分钟前
线性表的顺序和链式存储
数据结构·c++·算法
小苏兮20 分钟前
【C++】stack与queue的使用与模拟实现
开发语言·c++
杨小码不BUG1 小时前
小鱼的数字游戏:C++实现与算法分析(洛谷P1427)
c++·算法·数组·信奥赛·csp-j/s
高山有多高1 小时前
栈:“后进先出” 的艺术,撑起程序世界的底层骨架
c语言·开发语言·数据结构·c++·算法
普罗米修斯1 小时前
C++ 设计模式理论与实战大全【共73课时】
c++·后端
YouEmbedded1 小时前
解码查找算法与哈希表
数据结构·算法·二分查找·散列表·散列查找·线性查找
普罗米修斯1 小时前
C++ 设计模式原理与实战大全-架构师必学课程 | 完结
c++·后端
小秋学嵌入式-不读研版2 小时前
C61-结构体数组
c语言·开发语言·数据结构·笔记·算法
夜月yeyue3 小时前
个人写HTOS移植shell
c++·mcu·算法·性能优化·架构·mfc