Chap3栈及队列.pptVIP

  • 2
  • 0
  • 约9.39千字
  • 约 39页
  • 2018-07-02 发布于河南
  • 举报
Chap3栈及队列

第三章 栈和队列 栈和队列是两种特殊的线性表,是操作受限的线性表,称限定性DS. 3.1 栈(stack) 栈的定义和特点 定义:限定仅在表尾进行插入或删除操作的线性表,表尾—栈顶,表头—栈底,不含元素的空表称空栈 特点:先进后出(FILO)或后进先出(LIFO) 栈的存储结构 顺序栈 实现:一维数组s[M] 入栈算法 链栈(当栈的容量不固定时) 3.2 队列 队列的定义及特点 定义:队列是限定只能在表的一端进行插入,在表的另一端进行删除的线性表 队尾(rear)——允许插入的一端 队头(front)——允许删除的一端 队列特点:先进先出(FIFO) 链队列 结点定义 队列的顺序存储结构 实现:用一维数组实现sq[M] 存在问题 设数组维数为M,则: 当front=-1,rear=M-1时,再有元素入队发生溢出——真溢出 当front?-1,rear=M-1时,再有元素入队发生溢出——假溢出 解决方案 队首固定,每次出队剩余元素向下移动——浪费时间 循环队列 基本思想:把队列设想成环形,让sq[0]接在sq[M-1]之后,若rear+1==M,则令rear=0; 队列应用举例 划分子集问题 问题描述:已知集合A={a1,a2,……an},及集合上的关系R={ (ai,aj) | ai,aj?A, i?j},其中(ai,aj)表示ai与aj间存在冲突关系。要求将A划分成互

文档评论(0)

1亿VIP精品文档

相关文档