关注优题吧,注册平台账号.
不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
对
表达式a*(b+c)-d 的后缀表达式是【 】
对于顺序栈和链栈,【 】不是两者共有的运算特征。
算术表达式a*(b-c)+d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则最节省运算时间的存储方式是【 】
循环链表的主要优点是【 】
将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为35的结点的左孩子编号为【 】。
按照二叉树的定义,具有3个结点的二叉树有【 】种。
任何一个无向连通图的最小生成树【 】
深度优先遍历类似于二叉树的【 】
用数组表示的循环队列的队首和队尾位置分别为1和 max_size,试给出判断队列为空和为满的边界条件。
用数组 Q(其下标在 0 . . n-1 中,共有n个元素)表示一个环形队列, f 为当前队头元素的前一位置, r 为队尾元素的位置。假定队列中元素个数总小于 n ,求队列中元素个数的公式是__________。
若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素, 再加入两个元素后, rear和加front的值分别为多少?
顺序队列一般应该组织成为环状队列的形式,而且一般队列头或尾其中之一应该特殊处理。例如,队列为 listarray [ 0 ... n-1] ,队列头指针为front ,队列尾指针为 rear ,则 listarray[rear]表示下一个可以插入队列的位置。请解释其原因。
如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则下列说法中不正确的是【 】
算法的时间复杂度不是O(nlogn)的算法是【 】
用邻接表表示图进行广度优先遍历时,通常采用【 】来实现算法。
在一棵二叉树中,中序遍历的第一个结点,是二叉树的最左下结点。
顺序表查找指的是在顺序存储结构上进行查找。
已知一颗二叉树的先序序列和后序序列,一定能构造出该树。
若栈采用链式存储且仅设头指针,则【 】时入栈和出栈操作最方便。
设元素a、b、c、d依次进入一个初始为空的栈,则不可能通过合法的栈操作序列得到【 】。
表达式可采用后缀形式表示。例如,“a+b”的后缀式为“ab+”。那么,表达式“a*(b-c)+d”的后缀表示为【 】
对于一个初始为空的栈,其入栈序列为 1,2,3,...,n(n>3),若出栈序列的第一个元素是1则出栈序列的第n个元素【 】
为支持函数调用及返回,常采用称为“【 】”的数据结构。
递归函数执行时,需要【 】来提供支持。
对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈序列的第一个元素为d,则合法的出栈序列为【 】。
算术表达式(a+b)*(c-d/e)的后缀表达式为【 】
如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是【 】。
一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是【】