zoukankan      html  css  js  c++  java
  • 数据结构与算法(3)----->队列和栈

    1. 栈和队列的基本性质

    1. 栈是先进后出;(像是子弹夹,后进先打出)
    2. 队列是先进先出;(像是平时排队买冰淇淋,按顺序轮流)
    3. 栈和队列在实现的结构上可以有数组和链表两种形式;

        (1)数组结构实现容易;

        (2)用链表结构较为复杂,因为牵扯很多的指针操作;

    1.1  栈结构的基本操作

    (1)pop操作;(弹出)

    (2)top或peek操作;

    (3)push操作;(压栈)

    (4)size操作;

    1.2  队列的基本操作

    (1)队列的基本操作与栈操作不同的是,push操作作为在队头加入元素;而pop操作是从队列尾部弹出一个元素;

    (2)队列和栈的基本操作,都是时间复杂度为O(1)的操作;

      特殊:

    1. 双端队列结构:为首尾都可以压入和弹出元素;
    2. 优先级队列结构:会根据元素的优先级值,决定元素的弹出顺序;其本质是一个堆结构,并不是线性结构;
  • 相关阅读:
    CF601C Kleofáš and the n-thlon 题解
    CSP-J2 2020 T3,T4 题解
    题解:Luogu P2051 [AHOI2009]中国象棋
    三角函数
    Luogu P1904 天际线
    计算几何初步
    C++STL(set……)
    斜率优化DP
    欧拉图、哈密顿图
    初赛—错题集
  • 原文地址:https://www.cnblogs.com/Mairr/p/8362692.html
Copyright © 2011-2022 走看看