【数据结构】考点十:栈的序列

【考试临时抱佛脚】系列文章针对于<学习时间少>、<时间紧迫>、<想短时间提升成绩>的考生打造。无论你是<自考>、<专升本>还是<考研>这个专栏都适合你,Let’s go!

一、方法

解题步骤

栈的特点地先进后出,想象成一个死胡同,或者一个桶

二、考察形式1

1、问题

设栈的初始状态为空,元素1,3,5,2,4依次入栈,不能得到的出栈序列是(A)
A. 5,1,3,2,4
B. 4,2,5,3,1
C. 2,4,5,3,1
D. 1,3,5,2,4

2、解析&回答

分析:
在这里插入图片描述
1) 与原来元素次序一致的(正序和倒序)都是可以得到出线序列的,所以排除B、D
2) 选项A: 第一个元素为5,所以必须 先进栈进到5才行【栈里元素为:1,3,5】,5出栈没有问题,然后马上1就出栈,这时【栈里元素为:1,3】,所以1不能越过3出栈,所以错误
3) 选项C: 2,4,5,3,1为正确,如下图所示
① 第一步:先出2,所以先入栈到2【栈里元素为:1,3,5,2】,然后出栈2,这时【栈里元素为:1,3,5】
② 第二步:再出栈4,4还未入栈,所以先入栈再出栈4,这时【栈里元素为:1,3,5】
③第三步:再依次出栈5,3,1

三、考察形式2

1、问题

设有初始为空的栈S,入栈序列是f,e,d,c,b,a,出栈序列是d,e,a,b,c,f,则需要为S分配的空间大小至少是(C)
A. 2
B. 3
C. 4
D. 5

2、解析&回答

分析:
在这里插入图片描述

四、考察形式3

1、问题

设栈初始为空,入栈序列为1,2,3,4,5,下列选项中,不可能得到的出栈序列是(B)
A. 1,2,3,4,5
B. 3,1,4,2,5
C. 4,3,2,5,1
D. 5,4,3,2,1

2、解析&回答

分析:
A. 1,2,3,4,5【正序,放一个取一个,肯定行】
B. 3,1,4,2,5
C. 4,3,2,5,1
D. 5,4,3,2,1【倒序:全部放进去,再逐一拿出来,肯定行】

1) 与原来元素次序一致的(正序和倒序)都是可以得到出线序列的,所以排除A、D
2) 选项B,3出栈,那么先入栈1,2,3,然后3再出栈,紧接着1要出栈,这时1还隔着2呢,所以不能出栈,B错误
3) 选项C,4出栈,那么先入栈1,2,3,4,然后4,3,2出栈,然后5要出栈,需要5入栈后再出栈,最后1再出栈,C正确
答案:B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超越超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值