问答题 假设以I和O分别表示入栈和出栈操作,栈的初态和终态均为空。入栈和出栈的操作序列表示为仅由I和O组成的序列。"(1)下面所示的序列中哪些是合法的?(2分)A.IOIIOIOOB.IOOIOIIOC.IIIOIOIO D.IIIOOIOO"(2)通过对(1)的分析,给出判断一个给定序列是否合法的算法思想。 (4分)【哈尔滨工业大学2005四、2(6分)】【武汉大学2000五、2(12分)】
【正确答案】正确答案:(1)A和D是合法的。(2)设立一个字符栈,从左到右对IO序列做如下处理。遇I就入栈,遇O就出栈。若遇O出栈前栈空,则序列不合法,退出算法。若序列处理完但是栈不空,序列不合法。只有序列处理完且栈空,序列才是合法序列。
【答案解析】