假设以I和O分别表示入栈和出栈操作,则对初态和终态均为空的栈操作可由I和O组成的序列表示。 (1)试指出判别给定序列是否合法的一般规则。 (2)两个不同合法序列(对同一输入序列)能否得到相同的输出元素序列?如能得到,请举例说明。

admin2017-01-04  43

问题 假设以I和O分别表示入栈和出栈操作,则对初态和终态均为空的栈操作可由I和O组成的序列表示。
    (1)试指出判别给定序列是否合法的一般规则。
    (2)两个不同合法序列(对同一输入序列)能否得到相同的输出元素序列?如能得到,请举例说明。

选项

答案(1)通常有两条规则。第一是给定序列中I的个数和O的个数相等;第二是从给定序列的开始,到给定序列中的任一位置,I的个数要大于或等于O的个数。 (2)可以得到相同的输出元素序列。例如,输入元素为A,B,C,则两个输入的合法序列ABC和BAC均可得到输出元素序列ABC对于合法序列ABC,我们使用本题约定的IOIOIO操作序列;对于合法序列BAC,我们使用IIOOIO操作序列。

解析
转载请注明原文地址:https://kaotiyun.com/show/BLRi777K
0

随机试题
最新回复(0)