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

    栈和队列都是线性表:


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

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

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

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


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

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

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

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


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

    image

  • 相关阅读:
    截图插件
    断点续传
    sql server 将日期减一天
    C# 输出24小时格式时间
    蓝桥 凑平方数
    九宫重排
    HDU 1584
    HDU 2612 (两边一起)
    HDU 1016 Prime Ring Problem
    全排列、排列、排列组合
  • 原文地址:https://www.cnblogs.com/stemon/p/4284322.html
Copyright © 2011-2022 走看看