408数据结构总结复习笔记一:线性表

408数据结构总结复习笔记一:线性表

从现在开始慢慢更新我的考研复习笔记系列吧~

PS:主要是我自己个人复习过程中觉得重点的点,大家仅供参考哈~

上岸!!!大家一起加油!

顺序表和链表的比较

顺序表 链表
存取/读写方式 可顺序存取,也可以随机存取 只能从表头开始顺序存取元素,无法实现随机存取!
按值查找 若无序,则T(n)=O(n);若有序,则可以采用折半查找,T(n)=O(logn) T(n)=O(n)
按序号查找 序号约等于数字下标,T(n)=O(1) T(n)=O(n)
插入和删除操作 插入和删除都需要移动数据,T(n)=O(n) 无需移动数据,只要修改指针就可以,T(n)=O(1)
逻辑结构和物理结构 逻辑上相邻,物理上也相邻 逻辑上相邻,物理上不相邻
空间分配 分为静态顺序表和动态顺序表。静态顺序表建立时就申请一片连续的空间,数据写满的情况下要再写入数据会造成数据溢出且无法扩大空间,而存储数据过少时又会存在空间浪费问题;动态顺序表建立时先申请一片连续的空间,当数据写满的情况下要再写入数据需要向系统再申请一片扩大的连续的空间,并移动数据到新的空间,释放旧空间。 分为普通链表和静态链表 ,普通链表创建时不需要申请一整片连续的空间地址,各个结点之间通过指针串联起来;静态链表与数组有一点类似,创建时需要申请一片连续的空间,各结点之间是连续的,但结点中又分为数据域和指针域,数据域存放数据,指针域存放逻辑上下一个结点的位置下标。

顺序表和链表的应用选取

  • 顺序表

    适用于查找、随机存取以及在表尾进行数据插入和删除操作的应用场景中

  • 链表

    适用于经常进行数据插入和删除操作的应用场景中

未完,想到再补充好了。。。

相关推荐
大数据追光猿10 分钟前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Dream it possible!27 分钟前
LeetCode 热题 100_在排序数组中查找元素的第一个和最后一个位置(65_34_中等_C++)(二分查找)(一次二分查找+挨个搜索;两次二分查找)
c++·算法·leetcode
夏末秋也凉29 分钟前
力扣-回溯-46 全排列
数据结构·算法·leetcode
南宫生29 分钟前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
柠石榴33 分钟前
【练习】【回溯No.1】力扣 77. 组合
c++·算法·leetcode·回溯
Leuanghing33 分钟前
【Leetcode】11. 盛最多水的容器
python·算法·leetcode
qy发大财34 分钟前
加油站(力扣134)
算法·leetcode·职场和发展
王老师青少年编程34 分钟前
【GESP C++八级考试考点详细解读】
数据结构·c++·算法·gesp·csp·信奥赛
qy发大财35 分钟前
柠檬水找零(力扣860)
算法·leetcode·职场和发展
瓦力的狗腿子38 分钟前
Starlink卫星动力学系统仿真建模番外篇6-地球敏感器
算法·数学建模·simulink