一个以向量V[n]存储的栈,其初始栈顶指针top为n+1,则对于x,其正确的进栈操作是( )。
从键盘上输入一个逆波兰表达式,用伪码写出其求值程序。规定:逆波兰表达式的长度不超过一行,以$符作为输入结束,操作数之间用空格分隔,操作符只可能有+、一、*、/四种运算,例如:234—34+2*$。
设树T的度为4,其中度为1、2、3和4的结点个数分别为4、1,1,1,则T中的叶子数为( )。
已知二叉排序树如下图所示,下列序列构造此二叉排序树不正确的是()。
下面函数的功能是实现分块查找,空白处应该添加的内容是( )。
int BlkSearch(int*nz,int key,int block,int BLK,int len)
{
int i;
block=block-1;
if(1enlen)BLK=len;
for(i=block*BLK;i<(block+1)* BLK
}
}
printf(”\n”);
pfintf(”查找结束\n”);
return 0;
}
执行完下列语句段后,i值为( )。 int f(int x){return((x>0)?x*f(x—1):2):} i=f(f(1));
已知一个双向链表,其结点结构为数据域data、左指针域llink、右指针域rlink;设指针P指向双向链表中的某个结点。写出一个算法,实现P所指向的结点和它的前缀结点之间顺序的互换。要求:
下列二叉排序树中,满足平衡二叉树定义的是()。
假设一个序列1,2,3,…,n依次进栈,如果第一个出栈的元素是i,那么第j个出栈的元素是( )。
假设有n个顶点e条边的有向图用邻接表表示,则删除与某个顶点v相关的所有边的时间复杂度为( )。
二叉查找树的查找效率与二叉树的( (1) )有关,在( (2) )时其查找效率最低。
树是结点的有限集合,一棵树中有( )根结点。
设线性表中有2n个元素,以下操作中,在单链表上实现要比在顺序表上实现效率更高的是( )。
静态链表中指针表示的是( )。
假定图G=(V,E)是有向图,V={1,2,…,N},N≥1,G以邻接矩阵方式存储,G的邻接矩阵为A,即A是一个二维数组。如果i到j有边,则A[i,j]=1,否则A[i,j]=0。请给出一个算法思想,该算法能判断G是否是非循环图(即G中是否存在回路),要求算法的时间复杂性为O(n
2
)。
采用简单选择排序,比较次数与移动次数分别为( )。
两个整数序列A=a
1
,a
2
,a
3
,…,a
m
和B=b
1
,b
2
,b
3
,…,b
n
已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。
算术表达式a+b*(c+d/e)转为后缀表达式后为( )。
下列排序算法中,( )每一趟都能选出一个元素放在最终位置上,并且是不稳定的。
B单项选择题1-40小题。下列每题给出的四个选项中,只有一个选项是最符合题目要求的。/B
