数据结构的第三讲.ppt

数据结构的第三讲

第三讲 栈和队列 引例 ? 例一:一叠书,只能从顶上面拿走一本,若再加入一本,也只能放在顶上。 ? 例二:铁路扳道站,最先离去的只能是最后进入轨道的那一辆。 例子:数制转换 例子:括号匹配的检验 例子:迷宫问题的求解 3.1 栈 3.1.1 栈的抽象数据类型定义 3.1.2 栈的表示和算法实现 栈的定义 栈(stack)是一种只允许在一端进行插入和删除的线性表,它是一种操作受限的线性表。 在表中只允许进行插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。 栈的插入操作通常称为入栈或进栈(push),而栈的删除操作则称为出栈或退栈(pop)。 当栈中无数据元素时,称为空栈。 栈的定义 栈是按照后进先出(LIFO)的原则组织数据的,因此,栈也被称为“后进先出”的线性表。 栈的抽象数据类型定义 ADT Stack{ 数据对象: D={ai|ai∈ElemSet,i=1,2,…,n,n=0} 数据关系:R1={ai-1,ai|ai-1,ai ∈D,i=2,…,n} 约定an为栈顶,a1为栈底 基本操作: InitStack(S) 操作结果:构造一个空栈S。 DestroyStack(S) 初始条件:栈S已存在 操作结果:栈S被销毁 ClearStack(S) 初始条件:栈S已存在

文档评论(0)

1亿VIP精品文档

相关文档