导图社区 数据结构-线性表
这是一篇关于数据结构-线性表思维导图,包含线性表、栈和队列都是运算受限的线性表等。
这是一篇关于数据结构-3.1.栈思维导图,只允许在一端插入删除的线性表,先进后出FILO。
这是一篇关于1.绪论_数据结构算法的思维导图,包含数据结构、算法等。干货满满,有需要的朋友赶紧收藏吧!
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
日语高考動詞の活用
第14章DNA的生物合成读书笔记
线性结构
线性表
定义:是逻辑结构,具有相同数据类型的n个数据元素的有限序列
顺序存储
顺序表(逻辑顺序和物理顺序相同)
特点
随机访问,查找方便
存储密度高
增删麻烦
扩容麻烦(malloc会增加时间复杂度)
实现方式
静态分配
定义一个定长数组,系统自动回收空间
动态分配
使用malloc、free函数(成对出现)
基本操作
插入
最好O(1),最坏O(n),平均O(n)
删除
查找
按位查找
最好/最坏/平均O(1)
按值查找
主要的时间开销是来自移动元素
链式存储
链表(逻辑顺序和物理顺序不用相同)
存储密度低
插入删除方便
存储灵活
单链表
建立(插入)
头插法建立
O(n)
尾插法建立
求表长
添加一个计数器即可
双链表
O(1)
不用像单链表一直遍历下去,可以直接找到前驱指针将其修改
循环链表
循环单链表
将头节点L指向尾部,这样在尾部操作的时间复杂度是O(n)
循环双链表
静态链表
用数组实现的链表,游标表示数组下标
主要的时间开销是来自移动元素,所以在处理实际问题中,链表插入/删除的效率高于顺序表
栈和队列都是运算受限的线性表
栈
队列