栈的典型题目

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于栈的考题
7.在一个算法中需要建立多个堆栈时可以选用下列三 种方案之一,试问:这三中方案之间相比较各有什么 优缺点?(1)分别用多个顺序存储空间建立多个独立 的堆栈。(2)多个堆栈共享一个顺序存储空间。(3) 分别建立多个独立的链接堆栈。
1)每个栈各用一个顺序存储空间时,操作简便,但分配空间小了 容易产生溢出,分配空间大了容易浪费,各栈不能共享空间。 2)多个栈共享一个顺序存储空间,充分利用了存储空间,只有在 整个存储空间都用完时才会产生溢出,其缺点是当一个栈满时要 向左右栈查询有无空闲单元,如果有则要移动元素和修改相关的 栈底和栈顶指针。当接近栈满时,查询空闲单元、移动元素和修 改栈底栈顶指针的操作频繁,计算复杂并且耗费时间。 3)多个链栈一般不考虑栈的溢出(仅受用户内存空间限制),缺 点是栈中元素要以指针相连接,比顺序存储多占了存储空间。
能的,因为按照输入顺序,当Pi与Pj同时在栈中时, 必然Pi被Pj封盖,所以根据栈后进先出的性质,当 i<j<k时必有Pk<Pj<Pi,与假设矛盾,所以命题不成立。
关于栈的考题
8.试证明:若借助栈由输入序列123…n得到的输出序 列P1P2…Pn(它是输入序列的一个排列),则在输出序 列中不可能出现这样的情形:存在着i<j<k使Pk<Pi<Pj。
举例说,对于输入序列1、2、3,不可能出现3、1、2的输出序 列。 证明:假设成立,这意味着在Pk出栈之前Pi和Pj都已入栈,且 留在栈中。但在Pk出栈后,要满足Pi<Pj的出栈顺序式不可
5.一个栈的输入序列为123…n,若输出序列为P1,P2, D P3,….,PN,若PN是n,则 Pi是( )
A. i B. n-i C. n-i+1 D. 不确定 6.输入序列为ABC,要变为CBA,经过的栈操作为( B) A. push,pop,push,pop,push,pop B. push,push,push,pop,pop,pop C. push,push,pop,pop,push,pop D. push,pop,push,push,pop,pop
3.一个栈的输入序列为123…n,若输出序列的第一个 元素是n,则输出的第i个元素是( B) A. 不确定 B. n-i+1 C. i D. n-i
关于栈的考题
4.一个栈的输入序列为123…n,若输出序列的第一个 元素是i,则输出的第j个元素是(D )
A. i-j-1
BD. 不确定
关于栈的考题
1.有A B C三辆列车顺序进入栈式结构的站台,问这三 辆车开出站台的序列有多少种,并写出具体序列。
1 2n Cn n1 n 2.某堆栈的输入序列是a、b、c、d,则下列序列中不 可能是它的输出序列的是(D )
A. a,c,b,d B. b,c,d,a C. c,d,b,a D. d,c,a,b
相关文档
最新文档