一、选择题(共15小题,每小题2分,共30分)
1.计算算法的时间复杂度是属于一种()的方法。
A)事前统计B)事前分析估算C)事后统计D)事后分析估算
2.数据的逻辑结构可以分为()。
A)静态结构和动态结构B)物理结构和存储结构
C)线性结构和非线性结构D)虚拟结构和抽象结构
3.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A)必须是连续的B)部分地址必须是连续的
C)一定是不连续的D)连续不连续都可以
4.线性表既可以用带头结点的链表表示,也可以用不带头结点的链表表示,前者最主要的好处是()。
A)使空表和非空表的处理统一B)可以加快对表的遍历
C)节省存储空间D)可以提高存取表元素的速度
5.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。
A)1和5B)2和4C)4和2D)5和1
6.对二叉树T中的某个结点x,它在先根序列、中根序列、后根序列中的序号分别为pre(x),in(x)、post(x),a和b是T中的任意两个结点,下列选项一定错误的是()。
A)a是b的后代且pre(a)post(b)
C)a是b的后代且in(a)
7.若二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A)空或只有一个结点B)任一结点无左子树
……此处隐藏9899个字…… p);break; //释放结点空间,退出循环
}
else { pre=p; p=p->next; } //沿链表继续查找
}
p=g[j].firstarc;
pre=NULL; //删顶点j 的边结点(j,i)
while (p)
{
if (p->adjvex==i)
{ if(pre==NULL) g[j].firstarc=p->next;
else pre->next=p->next;
free(p);
break; //释放结点空间,退出循环
}
else { pre=p; p=p->next; } //沿链表继续查找
}
}