数据结构学习笔记二(栈和队列)

一、栈

      栈是一种操作受限的数据结构,只支持入栈和出栈操作。后进先出(LIFO)是它的最大的特点。栈既可以通过数组实现,也可以通过链表实现。不管基于数组还是链表,入栈、出栈的时间复杂度都为O(1)。

二、队列

      队列最大的特点是先进先出,主要的两个操作是入队和出队。更栈一样,它既可以用数组来实现,也可以用链表拉实现。用数组实现的较顺序队列,用链表实现的叫链式队列。用数组实现队列的时候,会有数据搬移操作,要想解决数据搬移问题,就需要使用循环队列。

三、无锁并发队列的实现

      无锁是一种乐观的策略,它会假设对资源的访问时没有冲突的。无锁策略使用一种比较交换的技术(CAS)来鉴别线程是否发生冲突,一旦检测到冲突发生,就重试当前操作直到没有冲突为止。
无锁的好处:

  • 在高并发的情况下,它比有锁的程序拥有更好的性能。
  • 它天生是死锁免疫的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值