文档介绍:word
word
1 / 18
word
第一章 算法分析根底
1、如下时间复杂度最好的是( )
A、O B、O
C、O D、O
2、 从逻辑上可以把数据结构分为哪两大类?〔 〕
A、动态结构、静态结构 B、顺序结构、链式结构
C、线性结构、非线性结构 D、初等结构、构造型结构
3、算法分析的主要任务是分析〔〕
A.算法是否具有较好的可读性
B.算法中是否存在语法错误
C.算法的功能是否符合设计要求
D.算法的执行时间和问题规模之间的关系
4、下面程序段中带下划线的语句的执行次数是。
for(i=0;i<=n;i++)
for(j=0;j<=i;j++)
x=x+1;
5、如下程序的时间复杂度为〔〕
s=0;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
s=s+1;
A. O〔10〕                     B. O〔20〕
word
word
3 / 18
word
C. O 〔1〕           D.O〔102〕
6、数据的最小单位是〔〕
                            
7、如下程序的时间复杂度为〔〕
i=1;k=100;
while〔i<n〕
{
k=k+1;
i=i+2;
}
〔1〕                     B. O〔n〕
C. O〔n3〕                     〔n2〕
8、称算法的时间复杂度为O(logn),其含义是指算法的执行时间和_______的数量级一样。
第二章 线性表
1、非空的循环单链表L的尾结点〔由p所指〕满足〔 〕
->next=NULL                  B. p=NULL
C. p->next= L                  D. p= L
2、从一个长度为n的顺序表中删除第i个元素〔1≤i≤n〕时,需向前移动的元素的个数是〔 〕
-i                           -i+1
word
word
3 / 18
word
3、链表不具备的特点是 〔 〕
A.可随机访问任一结点                    B.插入删除不需要移动元素
C.不必事先估计存储空间                 D.所需空间与其长度成正比
4、顺序表的存储密度为1,而链表的存储密度_。
5、写算法,顺序查找一个元素值等于e的元素的逻辑序号。假如这样的元素不存在,如此返回值为0。
6、完善如下程序段。在一个单链表〔每个结点含有数据域data和指针域next〕中删除p所指结点时,可执行如下操作:
1〕q=p->next;
2) p->data=___①____;
3) p->next=_____②____;
4) free(q);
题目如改成删除p所指的结点的后继结点, ②为
7、设单链表中结点结构为(data,link).指针q所指结点是指针p所指结点的直接前驱,假如在*q 与*p之间插入结点*s,如此应执行如下哪一个操作〔     〕
word
word
4 / 18
word
A.   s->link=p->link;  p->link=s;      B.  q->link=s; s->link=p
C.  p->link=s->link; s->link=p;     D.  p->link=s; s->link=q;
8、假如某线性表中最常用的操作是在第i个元素之前插入一个元素和删除第i个元素,如此采用什么存储方式最节省时间。( )
A、散列表 B、单链表 C、二叉链表 D、顺序表
9、写一算法实现带头结点的单链表L的就地逆置,即在原表的存储空间中将表〔a1,a2,…,an〕逆置为〔an,…,a2,a1〕。
10、指出下述程序段的功能是什么? 
LinkList Demo(LinkList L){ // L 是无头结点单链表
ListNode *Q,*P;
if(L&&L->next){
Q=L;L=L->next;P=L;
while (P->next) P=P->next;
P->next=Q; Q->next=NULL;
}
return L;
}