数据结构堆栈课件.ppt
《数据结构堆栈课件.ppt》由会员分享,可在线阅读,更多相关《数据结构堆栈课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、4.1堆栈的概念及其运算,堆栈的逻辑结构堆栈:限定仅在表尾进行插入和删除操作的线性表。空栈:不含任何数据元素的栈。允许插入和删除的一端称为栈顶,另一端称为栈底。,(a1,a2,an),a,b,c,入栈,出栈,插入:入栈、进栈、压栈删除:出栈、弹栈,栈的示意图,4.1堆栈的概念及其运算,栈的操作特性:后进先出,4.1堆栈的概念及其运算,例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种?,a,b,c,情况1:,出栈序列:c,出栈序列:c、b,出栈序列:c、b、a,例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种
2、?,a,b,情况2:,出栈序列:b,4.1堆栈的概念及其运算,a,出栈序列:b,出栈序列:b、c,出栈序列:b、c、a,c,注意:栈只是对表插入和删除操作的位置进行了限制,并没有限定插入和删除操作进行的时间。,情况2:,例:有三个元素按a、b、c的次序依次进栈,且每个元素只允许进一次栈,则可能的出栈序列有多少种?,4.1堆栈的概念及其运算,堆栈的操作Push(S,x)Pop(S)Empty(S)Top(S)Create(S),4.1堆栈的概念及其运算,如何改造数组实现栈的顺序存储?,a1,确定用数组的哪一端表示栈底。,附设指针top指示栈顶元素在数组中的位置。,4.2堆栈的顺序存储结构,出栈:
3、top减1,进栈:top加1,栈空:top=-1,a1,a2,a3,栈满:top=MAX_SIZE,4.2堆栈的顺序存储结构,堆栈是否为空测试算法p70进栈算法p71退栈算法,4.2堆栈的顺序存储结构,解决方案2:,顺序栈单向延伸使用一个数组来存储两个栈,在一个程序中需要同时使用具有相同数据类型的两个栈,如何顺序存储这两个栈?,会出现什么问题?如何解决?,4.2堆栈的顺序存储结构,两栈共享空间:使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,两个栈从各自的端点向中间延伸。,4.2堆栈的顺序存储结构,栈1的底固定在下标为0的一端;栈2的底固定在下标为MaxS
4、ize-1的一端。top1和top2分别为栈1和栈2的栈顶指针;MaxSize为整个数组空间的大小(图中用S表示);,a1 a2 ai,0 1 2 S-1,bj b2 b1,4.2堆栈的顺序存储结构,top1=-1,什么时候栈1为空?,a1 a2 ai,0 1 2 S-1,bj b2 b1,4.2堆栈的顺序存储结构,top1=-1,什么时候栈1为空?,a1 a2 ai,0 1 2 S-1,bj b2 b1,什么时候栈2为空?,top2=MaxSize,4.2堆栈的顺序存储结构,top1=-1,什么时候栈1为空?,a1 a2 ai,0 1 2 S-1,bj b2 b1,什么时候栈2为空?,top
5、2=MaxSize,什么时候栈满?,top2=top1+1,4.2堆栈的顺序存储结构,1.如果栈满,则抛出上溢异常;2.判断是插在栈1还是栈2;2.1 若在栈1插入,则 2.1.1 top1加1;2.1.2 在top1处填入x;2.2 若在栈2插入,则 2.2.1 top2减1;2.2.2 在top2处填入x;,操作接口:void Push(int i,T x);,4.2堆栈的顺序存储结构,1.若是在栈1删除,则 1.1 若栈1为空栈,抛出下溢异常;1.2 删除并返回栈1的栈顶元素;2.若是在栈2删除,则 2.1 若栈2为空栈,抛出下溢异常;2.2 删除并返回栈2的栈顶元素;,操作接口:T P
6、op(int i);,4.2堆栈的顺序存储结构,链栈需要加头结点吗?,如何改造链表实现栈的链接存储?,将哪一端作为栈顶?,将链头作为栈顶,方便操作。,链栈不需要附设头结点。,4.3堆栈的链式存储结构,栈顶,栈底,链栈:栈的链接存储结构,两种示意图在内存中对应同一种状态,栈顶,栈底,4.3堆栈的链式存储结构,4.3堆栈的链式存储结构,入栈:p75 出栈:p75,操作接口:,4.3堆栈的链式存储结构,顺序栈和链栈的比较,时间性能:相同,都是常数时间O(1)。空间性能:顺序栈:有元素个数的限制和空间浪费的问题。链栈:没有栈满的问题,只有当内存没有可用空间时才会出现栈满,但是每个元素都需要一个指针域,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 堆栈 课件
链接地址:https://www.31ppt.com/p-3500039.html