线性数据结构

队列
  • 什么是队列?
    先进先出,先来的先购买
    可以基于数组实现:有界队列,队列的大小有限,满了就会拒绝请求
    可以基于链表来实现:无界队列,可能导出过多的请求排队等待
    
  • 什么是栈?
    一种叠盘子的结构,不能从中间塞入,只能先从上面取盘子,操作受限的先进后出的结构。
    

    使用场景

    数组或者链表都可以完全替代栈,但是暴露太多操作接口,相对不可控,容易出错,
    如果涉及一端插入与删除,先进后出的情况就可以使用栈这种数据结构
    
  • 数组、链表来实现栈
    数组实现的是顺序栈,链表实现的是链式栈
    
链表
  • 什么是链表?
    不需要一块连续的内存空间,通过指针将零散的内存块串联起来的数据结构,有效避免申请大内存
    导致创建失败的问题。
    节点存储数据以及下一个节点的地址,适合插入与删除操作
    
数组
  • 什么是数组?
    一组连续的内存空间,存储相同数据类型的数据
    支持随机访问,根据下标访问元素的时间复杂度为O(1)
    为了保证内存数据的连续性,数组的插入、删除操作会比较低效
    
posted on 2022-09-18 18:03  _tiny_coder  阅读(38)  评论(0编辑  收藏  举报