一、单项选择题(共 15 道试题,共 60 分。) 得分:60
1. 一个不带头结点的单循环链表,尾指针为rear,在链表中插入一个s所指向的新结点,并作为新的尾结点,可执行(D )。
A. rearànext= s; sànext=rearànext; rear=s;
B. rearànext=sànext; rear=s;
C. sànext=rearànext ; rearànext =sànext ; rear=s;
D. sànext=rearànext ; rearànext=s; rear=s;
满分:4 分
2. 单链表A长度为m,单链表B长度为n,若将B联接在A的末尾,其时间复杂度应为(B )。
A. O(1)
B. O(m)
C. O(n)
D. O(m+n)
满分:4 分
3. 以下叙述中不正确的是 ( C)。
A. 顺序表是用一组地址连续的存储单元依次存放线性表的数据元素
B. 顺序表中各个数据元素的首地址是不一定连续的
C. 链表中的数据元素能随机访问
D. 在链表中进行插入、删除操作不需要移动元素
满分:4 分
4. 结构中的元素之间存在一对多的关系是(C )。
A. 集合
B. 线性结构
C. 树形结构
D. 图状结构
满分:4 分
5. 以下说法正确的是(D )。
A. 一种逻辑结构在存储时只能采用一种存储结构
B. 对链表进行插入、删除元素的操作一定要移动结点
C. 在链表中可以随机访问任一结点
D. 在顺序表中可以随机访问任一结点
满分:4 分
6. 在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,从该队列中进行出队操作, 并把结点的值保存在变量x中的运算为( C)。
A. x=ràdata;r=rànext;
B. r=rànext; x=ràdata;
C. x=fàdata;f=fànext;
D. f=fànext; x=fàdata;
满分:4 分
7. 设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为( B)。
A. n-i+1
B. n-i
C. n-i-1
D. i
满分:4 分
8. 在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句(C )。
A. p=q->next
B. p->next=q
C. p->next=qànext
D. q->next=NULL
满分:4 分
9. 结构中的元素之间存在多对多的关系是(D )。
A. 集合
B. 线性结构
C. 树形结构
D. 图状结构
满分:4 分
10. 在一个单链表中p所指结点之后插入一个s所指的结点时,可执行(D )。
A. p->next= s; sànext= pànext;
B. p->next=sànext;
C. p=s->next;
D. s->next=p->next; p->next=s;
满分:4 分
11. 设有一个长度为18的顺序表,要在第4个元素之前插入1个元素(也就是插入元素作为新表的第4个元素),则移动元素个数为(B )。
A. 16
B. 15
C. 5
D. 4
满分:4 分
12.
设有一个长度为28的顺序表,要删除第10个元素(下标从1开始),需移动元素的个数为( D)。
A. 9
B. 10
C. 16
D. 18
满分:4 分
13. 在一个长度为n的顺序表中顺序搜索一个值为x的元素时,在等概率的情况下,搜索成功时的数据平均比较次数为( C)。
A. n
B. n/2
C. (n+1)/2
D. (n-1)/2
满分:4 分
14. 对带头结点的头指针为head的单向链表,判断是否为空的条件是(B )
A.
head==NULL
B. head->next= =NULL
C. head->next= =head
D. head =NULL
满分:4 分
15. 在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( C)。
A. p=q->next;
B. p->next=q;
C. p->next=q->next;
D. q->next=NULL;
满分:4 分
单项选择题 判断题
二、判断题(共 10 道试题,共 40 分。) 得分:40
1. 数据的逻辑结构是指各数据元素之间的逻辑关系,是用户根据应用需要建立的。 B
A. 错误
B. 正确
满分:4 分
2. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储方式无关,是独立于计算机的。 B
A. 错误
B. 正确
满分:4 分
3. 顺序表和一维数组一样,都可以按下标随机(或直接)访问。 B
A. 错误
B. 正确
满分:4 分
4. 插入与删除操作是数据结构中最基本的两种操作,因此这两种操作在数组中也经常被使用。 A
A. 错误
B. 正确
满分:4 分
5. 线性表若采用链式存储表示, 在删除时不需要移动元素。 B
A. 错误
B. 正确
满分:4 分
6. 在线性链表中删除中间的结点时,只需将被删结点释放。 A
A. 错误
B. 正确
满分:4 分
7. 线性表若采用链式存储表示时,其存储结点的地址可连续也可不连续。T B
A. 错误
B. 正确
满分:4 分
8. 在对双向循环链表做删除一个结点操作时,应先将被删除结点的前驱结点和后继结点链接好再执行删除结点操作。 B
A. 错误
B. 正确
满分:4 分
9. 单向循环链表是单向链表的一种扩充,当单向链表带有头结点时,把单向链表中尾结点的指针域由空指针改为指向第1个元素结点。 A
A. 错误
B. 正确
满分:4 分
10. 算法和程序原则上没有区别,在讨论数据结构时二者是通用的。 A
A. 错误
B. 正确
满分:4 分