zoukankan      html  css  js  c++  java
  • 数据结构:栈和队列的总结回顾

    栈和队列都是线性表:


    栈和队列,它们都是特殊的线性表,只不过对插入和删除操作做了限制。

    栈:限定仅在表尾进行插入和删除操作的线性表。

    队列:只允许在一端进行插入操作,而在另一端进行删除操作的线性表。

    栈和队列的顺序存储结构:


    它们都可以用线性表的顺序存储结构实现,但都存在着顺序存储的一些弊端,因此它们各自有一些技巧解决这个问题。

    对于栈来说,如果两个相同数据类型的栈,则可以用数组的两端作栈底的方法让两个栈共享数据,最大化利用数组的空间。

    对于队列来说,为了避免数组插入和删除时需要移动数据,引入循环队列,使得本来插入和删除是O(n)的时间复杂度变成了O(1)。

    栈和队列的链式存储结构:


    栈和队列的链式存储结构的实现原理和线性表的实现原理基本上相同。

    image

  • 相关阅读:
    近期总结
    input
    mysql语句
    同步与异步
    localStorage的增删查改封装函数
    最基本的前后台传值
    前段存储的调用函数
    js 控制弹出窗口的大小
    拖拽
    jQuery镇张缩小动画
  • 原文地址:https://www.cnblogs.com/stemon/p/4284322.html
Copyright © 2011-2022 走看看