zoukankan      html  css  js  c++  java
  • 数据结构3_栈和队列

    3 栈和队列

    栈和队列的操作是线性表操作的子集。它们是操作受限的线性表。

    从数据结构的角度看,是限定性的数据结构。

    从数据类型的角度看,是和线性表大不相同的两类重要的抽象数据类型。

    3.1 栈

    栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。

    表尾称为栈顶(Top)。

    表头称为栈底(bottom)。

    S=(a1, a2, a3, …an,),a1称为栈底元素,an为栈顶元素。栈中元素按a1、a2、…an的依次进栈。

    退栈的元素应为栈顶元素。换句话说,栈的修改是按后进先出的原则进行的。栈又称为后进先出(LIFO)线性表。

    栈的操作:栈顶进行插入或删除,栈的初始化、判空、取栈顶元素;

     

    栈也有两种存储表示方法:顺序栈、链栈;

    3.2 栈的应用举例

     

    3.3 栈与递归实现

    Hanoi塔

    3.4 队列

    先进先出的线性表结构;只允许在表的一端进行插入,而在另一端删除元素;

    队尾、队头;

    Queue

    队列有两种存储表示:

    链表表示的队列叫链队列

    循环队列;

    3.5 离散事件模拟

    银行排队问题,计算一天中客户在银行逗留的平均时间,模拟银行的业务活动。

    客户到达和离开银行的这两个时刻发生的事情称为“事件”。整个模拟程序将按照事件发生的先后顺序进行处理。这样一种模拟程序称为事件驱动模拟

  • 相关阅读:
    网络诊断工具:[tcpdump]
    网络诊断工具:iproute
    C语言编译全过程
    (Ruby)Ubuntu12.04安装Rails环境
    (Life)牛人的学习方法(转译文)
    (WPF)WPF事件要点WPF宝典笔记
    (WPF)依赖属性要点WPF宝典笔记
    (DP)降低代码重构的风险(转载)
    (WPF)路由事件要点WPF宝典笔记
    JDBC,MYBATIS,Hibernate性能对比!
  • 原文地址:https://www.cnblogs.com/grooovvve/p/10398419.html
Copyright © 2011-2022 走看看