数据结构教材课后习题(选择填空篇)

本文是彭波教授主编的《数据结构》教材的课后习题精选,涵盖线性表、栈、队列、串、数组、广义表、数和二叉树、图、查找及排序等章节,旨在帮助读者巩固数据结构基础知识。内容包括填空题、选择题等,详细解析了各类数据结构的操作和特性。
摘要由CSDN通过智能技术生成

教材:白色封皮,彭波教授主编,清华大学出版社。

题量:80

难度:中等,适合巩固数据结构基础知识。

目录

第2章 线性表

第3章 栈和队列

第4章 串

第5章 数组和广义表

第6章 数和二叉树

第7章 图

第8章 查找

第9章 排序


第2章 线性表

一、填空题

1.如果顺序表中第一个元素存储地址是100,每个元素长度为2,则第五个元素存储地址是(    )。

2.在一个长度为n的顺序表的第 i1≤i≤n+1)个元素之前插入一个元素,需要向后移动(    )个元素,删除第 i1≤i≤n)个元素时,需要向前移动(    )个元素。

3.设单链表中指针p指向结点a,如果要删除a的后继(假设a存在后继),则需要修改指针的操作为(    )。

4.在由尾指针rear指示的循环链表中在表尾插入一个结点s的操作序列是(    );删除开始结点的操作序列为(    )。

5.在一个具有n个结点的单链表中,在指针p所指结点后插入一个新结点的时间复杂度为(    );在给定值为e的结点后插入一个新结点的时间复杂度为(    )。

二、选择题

1、在长度为n的顺序表中查找元素e的时间复杂度为(    )。

(A)O(0)

(B)O(1)

(C)O(n)

(D)O(n^2)

2、已知线性表L采用顺序存储结构,如果每个元素占用4个存储单元,第九个元素的地址为144,则第一个元素的地址为(    )。

(A)108

(B)180

(C)176

(D)112

3、如果在某个线性表中最常用的操作是选取第i个元素和寻找第i个元素的前驱,则采用(    )存储结构最节省时间。

(A)顺序表

(B)单链表

(C)双链表

(D)单循环链表

4、在具有n个结点的有序单链表中插入一个新结点,并仍然保持其有序性的时间复杂度是(    )。

(A)O(0)

(B)O(n)

(C)O(n^2)

(D)O(nlog_2n)

5、在一个单链表中,已知q所指向的结点是p所指向的结点的前驱,如果在q和p之间插入s所指向的结点,则应该执行(    )操作。

(A)s->next=p->next; p->next=s;

(B)q->next=s; s->next=p;

(C)p->next=s->next; s->next=p;

(D)p->next=s; s->next=q;

三、参考答案

一、填空题
1.108
2.n-i+1;n-i
3.p->next=(p->next)->next
4.(1) s->next=rear->next; rear->next=s; rear=s;
4.(2) q=rear->next->next; rear-next->next=q->next;
5. O(1); O(n)

二、选择题
1. C    2. D    3. A    4. B    5. B

第3章 栈和队列

一、填空题

1.线性表、栈和队列都属于(    )结构。可在线性表(    )位置插入和删除元素;对于栈只能在(    )插入和删除元素;对于队列只能在(    )插入和在(    )删除元素。

2.在操作序列push(1),push(2),pop( ),push(5),push(7),pop( )和push(6)之后,栈顶元素是(    ),栈底元素是(    )。

3.在操作序列enqueue(1),enqueue (2),dequeue ( ),enqueue (5),enqueue (7),dequeue ( )和enqueue (9)之后,队头元素是(    ),队尾元素是(    )。

4.实现递归函数调用的一种数据结构是(    )。

5.在具有n个单元的循环队列中,队满时共有(    )个元素。

二、选择题

1、如果一个栈的入栈序列是1、2、3、4、5,则栈不可能的输出序列是(     )。

(A)54321

(B)45321

(C)43512

(D)12345

2、如果一个队列的入队序列是1、2、3、4,则队列的输出顺序是(    )。

(A)4321

(B)1234

(C)1432

(D)3241

3、在解决计算机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个(    )结构。</

  • 4
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值