顺序表与链表 栈和栈区 循环队列判空/满

顺序表与链表的不同点

顺序表链表
尾插和尾删时间复杂度O(1);任意位置的插入删除时间复杂度O(N)删除尾节点O(1)(不带头节点的单链表);有保存则为O(N) ;任意位置插入删除O(1);
底层空间为一段连续的空间底层空间不是连续的
支持随机访问 (基于底层空间的结构)不支持随机访问
空间容量需要扩容不需要扩容
应用场景不同(少操作高效存储)(栈的实现)多操作处理起来会更高效
不需要频繁申请空间(扩容是需要)每次插入都需要申请节点空间(1.内存碎片问题;2.额外空间浪费[申请节点空间会保存节点造成的];3.效率低)
缓存利用率高缓存利用率低
栈区
具有后进先出的特点是一块实实在在存在的内存空间
是一种数据结构是按照栈的特性(后进先出)实现的

循环队列判断队满队空
1.做标记:
给一个flag.
出队列同时flag = 0;
入队列同时flag = 1;
当队头与队尾指针相等时判断flag的值:
flag = 0 表示队空;
flag = 1 表示队满;
2.将有效元素个数记录保存:
给出一个count.
出队列同时count–;
入队列同时count++;
当count = 0 表示队空;
当count = 容量时表示队满;
3.特殊给定:
当队尾指针加一取模等于队头指针时表示队满;
当队尾指针等于队头指针时表示队空;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值