对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为【 】。
A、dcba
B、dabc
C、dcab
D、dbca
对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为【 】。
A、dcba
B、dabc
C、dcab
D、dbca
A
【解析】
入栈序列为a、b、c、d时,若第一个出栈的元素为d,则说明a、b、c都还在栈中,而且a位于栈底,其次是b和c,因此,合法的出栈序列只能为 d、c、b、a。
表示“以字符a开头且仅由字符a、b构成的所有字符串”的正规式为【 】。
下图所示的非确定有限自动机(s0为初态,s3为终态)可识别字符串【 】。
设 S 是一个长度为n的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于S本身)的个数为【 】。
在C程序中有一个二维数组 A[7][8],每个数组元素用相邻的 8 个字节存储,那么存储该数组需要的字节数为【 】。
对于一个初始为空的栈,其入栈序列为 1,2,3,...,n(n>3),若出栈序列的第一个元素是1则出栈序列的第n个元素【 】
某二叉树的先序遍历(根、左、右)序列为 EFHIGJK、中序遍历(左、根、右)序列为HFIEJKG,则该二叉树根结点的左孩子结点和右孩子结点分别是【 】
算术表达式a*(b-c)+d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有【 】种。
设有初始为空的栈S,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素进栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为【 】。
设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到【 】。
表达式可采用后缀形式表示。例如,“a+b”的后缀式为“ab+”。那么,表达式“a*(b-c)+d”的后缀表示为【 】
对于一个初始为空的栈,其入栈序列为abc时,其出栈序列可以有【 】种。