数据结构的一道题

设栈 S和队列Q的初始状态为空,元素 a b c d e f g依次进栈 S 。若每个元素出站后立即进去入队列Q ,且7个元素出队顺序是b d c f e a g则栈 S的容量至少多少? 这是数据结构的题。 给步骤详细点啊。答案是3

首先明确几个概念:栈是先进后出,队列是先进先出;题目中指定了进栈顺序,但没说要连续进栈。(下面箭头图中右代表栈底,左代表栈顶,队列同样)
假如栈的容量是1,则第一个出栈的肯定是a,不符合;
假如栈的容量是2,则a、b进去,b出栈,c进栈,只能c先出栈,d不可能出队顺序在c前
假如栈的容量是3,分析过程如下:
①S:b→a,b出栈,Q:b,S:a
②S:d→c→a,d、c依次出栈,Q:c→d→b,S:a
③S:f→e→a,f、e、a依次出栈,Q:a→e→f→c→d→b,S:null
④S:g,g出栈,Q:g→a→e→f→c→d→b,S:null
Q中元素依次出队,即b→d→c→f→e→a→g
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-29
队列的特点是先进先出,所以根据队列的出对顺序可以知道 进队列去的元素顺序是 bdcfeag 。接着看元素进入栈,可以知道 a 进去 b 进去 b出来,(出来后入队,后同)此时容量为二,b出来后b的位置空出,c进去,d进去,此时容量为3,根据队列可以知道,接着d出来,c出来。栈里空出两个位置。然后e进去,f进去,(容量仍然是3)f出来,e出来,此时又空出两个位置,然后a出来,g进去 g出来。整个过程就是这样。所以s的容量至少3

数据结构的一道题
有向图每条弧对应唯一的弧头和弧尾。“逆邻接表”只是把“邻接表”中弧头和弧尾的次序换了,并不是一种新表,它和“邻接表”的唯一区别就是弧尾的nextarc指针指向弧头而已。所以节点数是相等的。(参考数据结构教材164页)第二个问题:我的答案:正确理由:尾指针是指向终端结点的指针,用它来表...

关于数据结构的题
( C )6.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:(A)存储结构 (B)逻辑结构 (C)顺序存储结构 (D)链式存储结构 ( A )7. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 (A)110 (B)108 ...

数据结构判断题 帮做下
解析:A.完全二叉树可以用数组存储,树是非线性结构 B.链表且插入和删除运算效率高 C.链表也有双向链表 ,有两个指针域 3.A 4.A.顺序表可随机访问任一元素 5.D 6.这道题你是不是弄错了 全都对啊 7.D 满二叉树 :结点总数目N=2^H -1 H为数高度 ,求出结点总数为255 满二叉...

数据结构试题
3、以下数据结构中哪一个是非线性结构?( )A. 队列 B. 栈 C. 线性表 D. 二叉树 参考答案是:D 4、设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制...

数据结构习题
一、选择题 1.C 2.D 解析:A.完全二叉树可以用数组存储,树是非线性结构 B.链表且插入和删除运算效率高 C.链表也有双向链表 ,有两个指针域 3.A 4.A.顺序表可随机访问任一元素 5.D 6.这道题你是不是弄错了 全都对啊 7.D 满二叉树 :结点总数目N=2^H -1 H为数高度 ...

2020下学期《数据结构》第05章在线测试
《数据结构》第05章在线测试 第一题、单项选择题(每题1分,5道题共5分) 1、深度为5的满二叉树有___C___个结点。A、16          B、32 C、31          D、10  2、按照二叉树的定义,具有3个结点...

【数据结构】请教一道题,关于二分查找(折半查找)的平均搜索长度。
链表中的位置 :1 2 3 4 5 6 7 8 9 搜索成功的长度:3 2 3 4 1 3 2 3 4 所以平均长度是 (3+2+3...+3+4) \/ 9 答案是: C

数据结构高手进,帮忙答下题
一、1、B 2、B 3、 ?4、C 《 A的深度为1,B的深度为3,D的深度为3》5、C 6、B?7、C 8、B 直接插入排序 :n个不同的数据元素,最多需要比较n*(n-1)\/2 9、C 10、A 二、1.线性结构 ,非线性结构 。2. 352 < 100+ (6*20+6)*2 > , 232 ...

数据结构问题:设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1...
度为1的结点就是有1个分支,度为2的结点就是有2个分支,度为3的结点就是有3个分支,度为4的结点就是有4个分支,度为0的叶子没有分支,所以B=1*n1+2*n2+3*n3+4*n4=15。从下向上看,除了根结点,每个结点都有一个分支连着,所以n=B+1=16.所以叶子数n0为8 ...

数据结构的一道题:中缀表达式A-(B+C\/D)*E的后缀形式是什么?为什么?_百...
后缀表达式是把运算符号放在操作数后面 ABCD\/+E*- 计算方法是:1.把表达式中的每个操作都加括号,(A-((B+(C\/D))*E))2.把运算符号移到对应括号后面:(A((B(CD)\/)+)E)*)- 3.去掉括号:ABCD\/+E*-

相似回答