数据结构复习题(带答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 1 页 共 11 页

一、选择题

1.设某数据结构的二元组形式表示为A=(D ,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A 是( B )。

(A )线性结构 (B )树型结构 (C )物理结构 (D )图型结构 2.树最适合用来表示( C )。

(A )有序数据元素 (B )无序数据元素

(C )元素之间具有分支层次关系的数据 (D )元素之间无联系的数据

3. 设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为( B )。 (A) 40,50,20,95 (B) 15,40,60,20 (C) 15,20,40,45 (D) 45,40,15,20

4. 算法的计算量的大小称为计算的( B )。 (A) 效率 (B) 复杂性 C. 现实性 D. 难度

5. 设一维数组中有n 个数组元素,则读取第i 个数组元素的平均时间复杂度为( C )。

(A) O(n) (B) O(nlog 2n) (C) O(1) (D) O(n) 6.下面算法的时间复杂度为( B )。 int f(int n) {

if(n==0||n==1)return 1; else return n*f(n-1); }

(A) O(1) (B)O(n) (C)O(n2) (D) O(n!) 7. 以下哪一个不是队列的基本运算?( A )

(A )在队列第i 个元素之后插入一个元素 (B )从队头删除一个元素 (C )判断一个队列是否为空 (D )读取队头元素的值 8.不含任何结点的空树。( C )

(A)是一棵树; (B)是一棵二叉树;

(C)是一棵树也是一棵二叉树 (D)既不是树也不是二叉树

9. 若某线性表的常用操作是取第i 个元素及其前趋元素,则采用( A )存储方式最节省时间。

(A)顺序表 (B)单链表 (C)双链表 (D)单向循环 10. 带头结点的单链表为空的判断条件为( A ). (A) first==null (B) first->next==null (C) first->next==first (D) first!=null

11. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( A )。

(A) 仅修改头指针 (B) 头、尾指针都要修改 (C) 仅修改尾指针 (D) 头、尾指针可能都要修改

12.设指针变量p 指向单链表中结点A ,若删除单链表中结点A ,则需要修改指针的

装 订 线 内 不 准 答 题

第 2 页 共 11 页

操作序列为( A )。

(A) q=p->next ;p->data=q->data ;p->next=q->next ;free(q); (B) q=p->next ;q->data=p->data ;p->next=q->next ;free(q); (C) q=p->next ;p->next=q->next ;free(q); (D) q=p->next ;p->data=q->data ;free(q);

13. 已知L 是一个不带表头的单链表的表头指针,在表首插入结点*p 的操作是( C )

(A) p = L; p.next =L (B) p.next =L ; p=L (C) p.next =L ; L = p (D) L = p; p.next =L ;

14. 判定一个栈ST (最多元素为m0)为空的条件是( B )

(A)ST->top<>0 (B) ST->top=0 (C) ST->top<>m0 (D)ST->top=m0 15. 设循环队列的结构是 Struct Queue {

DataType data[MaxSize]; Int front, rear; };

若有一个Queue 类型的队列Q ,试问判断队满的条件为( D ) (A) Q.from == Q.rear; (B) Q.front == Q.rear == MaxSize; (C) Q.front+Q.rear == MaxSize; (D) Q.front == (Q.rear+1) % MaxSize;

16. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( C )。

(A) 5 4 3 6 1 2 (B) 4 5 3 1 2 6 (C) 3 4 6 5 2 1 (D) 2 3 4 1 5 6 17、一个队列的入列序列是1,2,3,4,则队列的输出序列是( B )。 (A)4,3,2,1 (B)1,2,3,4 (C)1,4,3,2 (D)3,2,4,1 18. 栈的插入和删除操作在( A )进行。

(A) 栈顶 (B) 栈底 (C) 任意位置 (D) 指定位置

19. 把一棵树转换为二叉树后,这棵二叉树的形态是( A )。 (A)唯一的 (B)有多种

(C)有多种,但根结点都没有左孩子 (D)有多种,但根结点都没有右孩子 (A) n-i (B) n-1-i (C) n+l -i (D) 不能确定

20. 设数组Data[0..m]作为循环队列SQ 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作的语句为( A )

(A)front=(front+1)%(m+1) (B) front=(front+1)% m (C)rear=(rear+1)% m (D) front=front+1

21. 循环队列存储在数组A[0..m]中,则入队时的操作为( D )。 (A) rear=rear+1 (B) rear=(rear+1) mod (m-1) (C) rear=(rear+1) mod m (D) rear=(rear+1)mod(m+1) 22. 函数substr(“DATASTRUCTURE ”,5,9)的返回值为( A )。函数substr(S,pos,len)的功能为返回串S 的第pos 个字符起长度为len 的子串。 (A) “STRUCTURE ” (B) “DATA ”

(C) “ASTRUCTUR ” (D) “DATASTRUCTURE ”

相关文档
最新文档