第1题. 下面程序段的执行次数为:
for(i=0;i
for(j=n;j
state;
A. n(n+2)/2
B .(n-1)(n+2)/2
C. n(n+1)/2
D. (n-1)(n+2)
第2题. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是:
A. 110
B .108
C. 100
D. 120
第3题. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是:
A. edcba
B .decba
C. dceab
D. abcde
第4题. 判定一个栈ST(最多元素为m0)为空的条件是:
A. ST->top<>0
B .ST->top=0
C. ST->top<>m0
D. ST->top=m0
第5题. 循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是:
A. (rear-front+m)%m
B .read-front+1
C. read-front-1
D. read-front
第6题. 不带头结点的单链表head为空的判定条件是:
A. head=NULL
B .head->next=NULL
C. head->next=head
D. head!=NULL
第7题. 在一个单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行:
A. s->next=p;p->next=s;
B .s->next=p->next;p->next=s;
C. s->next=p->next;p=s;
D. p->next=s;s->next=p;
第8题. 从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较多少个结点?
A. n
B .n/2
C. (n-1)/2
D. (n+1)/2
第9题. 从一个栈顶指针为HS的链栈中删除一个结点时,用x保存被删结点的值,则执行:
A. x=HS;HS=HS->next;
B .x=HS->data;
C. HS=HS->next;x=HS->data;
D. x=HS->data;HS=HS->next;
第10题. 在一个连队中,假设f和r分别为队首和队尾指针,则删除一个结点的运算时:
A. r=f->next;
B .r=r->next;
C. f=f->next;
D. f=r->next;
第11题. 串是一种特殊的线性表,其特殊性体现在:
A. 可以顺序存储
B .数据元素是一个字符
C. 可以链接存储
D. 数据元素可以是多个字符
第12题. 设有两个串p和q,求q在p中首次出现的位置的运算称作:
A. 连接
B .模式匹配
C. 求子串
D. 求串长
第13题. 二维数组M的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5,M按行存储时元素M[3][5]的起始地址与M按列存储时下列哪一元素的起始地址相同。
A. M[2][4]
B .M[3][4]
C. M[3][5]
D. M[4][4]
第14题. 数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为:
A. SA+144
B .SA+180
C. SA+222
D. SA+225
第15题. 稀疏矩阵一般的压缩方法有两种,即:
A. 二维数组和三维数组
B .三元组和散列
C. 三元组和十字链表
D. 散列和十字链表
第16题. 递归函数f(n)=f(n-1)+n(n>1)的递归出口是:
A. f(1)=0
B .f(1)=1
C. f(0)=1
D. f(n)=n
第17题. 将递归算法转换成对应的非递归算法时,通常需要使用:
A. 栈
B .队列
C. 链表
D. 树
第18题. 广义表((a),a)的表头和表尾分别是:
A. a , ((a))
B .(a) , (a)
C. b, (a)
D. ((a)) , a
第19题. 在线索化二叉树中,t所指结点没有左子树的充要条件是:
A. t->left=NULL
B .t->ltag=1
C. t->ltag=1且t->left=NULL
D. 以上都不对
第20题. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:
A. 2h
B .2h-1
C. 2h+1
D. h+1