我正在做一个练习试题
A问题堆栈机器有ABCD的输入流。CDBA的输出流有可能吗?为了CDAB?显示创建这些流的操作序列,如果不可能,请解释为什么不可能。
我说这两种输出流都是可能的。
对于CDBA,下面是创建这样一个流的操作序列
用于CDAB
我认为堆栈机器的工作方式就像堆栈做-push弹出一样。每个人都同意我的两个操作顺序吗?是否存在使这些流无法创建/生成的“堆栈机器”的某些属性?
发布于 2015-08-16 18:47:41
如果有人还好奇的话,我几天前就重新讨论过这个问题了。
基本上,您通过push和pop(两个主要操作)将输入到堆栈机器中。
因此,看看我们的第一个输入流ABCD,下面是生成CDBA输出流的操作序列。
从而形成CDBA的输出流。
但是,要生成CDAB的输出流,从生成CDBA开始的6个操作将应用于获得CD的输出流。然而,在这6个操作之后,您只剩下' B ','A‘,这意味着只使用push和pop,就无法在B之前输出A,因此第二个输出流是不可能形成的。
发布于 2015-05-12 02:29:51
是的,一切看起来都很好,除了你需要在CDBA结束时再推C。
https://stackoverflow.com/questions/30179966
复制相似问题