没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
16页
李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf李春葆编著数据结构(C语言篇)习题与解析(修订版).pdf
资源推荐
资源详情
资源评论
一、绪论
选择题
1.数据结构是一门研究非数值计算的程序设计问题中计算机的 1 以及它们之间的 2
和运算等的学科。
1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像
2 A.结构 B.关系 C.运算 D.算法
2.数据结构被形式地定义为 (K, R),其中 K 是 1 的有限集,R 是 K 上的 2 有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构
2 A.操作 B.映像 C.存储 D.关系
3.在数据结构中,从逻辑上可以把数据结构分成 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
4.线性结构的顺序存储结构是一种 1 的存储结构,线性表的链式存储结构是一种 2 的
存储结构。
A.随机存取 B.顺序存取 C.索引存取 D.散列存取
5.算法分析的目的是 1 ,算法分析的两个主要方面是 2 。
1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 D.分析算法的易懂性和文档性
2 A.空间复杂度和时间复杂度 B.正确性和简单性
C.可读性和文档性 D.数据复杂性和程序复杂性
6.计算机算法指的是 1 ,它必须具备输入、输出和 2 等 5 个特性。
1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法
2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性
C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性
7.线性表的逻辑顺序与存储顺序总是一致的,这种说法 。
A.正确 B.不正确
8 线性表若采用链式存储结构时,要求内存中可用存储单元的地址 。
A.必须连续的 B.部分地址必须连续的 C.一定是不续的 D 连续不连续都可以
9.以下的叙述中,正确的是 。
A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出 D.队列的操作方式是先进后出
10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法 。
A.正确 B.不正确
填空题
1.数据逻辑结构包括三种类型 、 和 ,树形结构和图形结构合
称为 。
2.在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;
最后一个结点 后续结点,其余每个结点有且只有 个后续结点。
3.在树形结构中,树根结点没有 结点,其余每个结点有且只有 个前驱结点;
叶子结点没有 结点,其余每个结点的后续可以 。
4.在图形结构中,每个结点的前驱结点数和后续结点数可以 。
5.线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结
构中元素之间存在 关系。
6.算法的五个重要特性是 、 、 、 、 。
7.下面程序段的时间复杂度是 。
for( i = 0; i < n; i++)
for( j = 0; j < m; j++)
A[i][j] = 0;
8.下面程序段的时间复杂度是 。
i = s = 0;
while ( s < n)
{
i ++; /* i = i +1*/
s += i; /* s = s + i*/
}
9.下面程序段的时间复杂度是 。
s = 0;
for( i = 0; i < n; i++)
for( j = 0; j < n; j++)
s += B[i][j];
sum = s;
10.下面程序段的时间复杂度是 。
i = 1;
while ( i <= n )
i = i * 3;
二、线性表
单项选择题
1.一个向量第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地址是 。
A.110 B.108 C.100 D.120
2.一个栈的入栈序列是 a、b、c、d、e,则栈的不可能输出序列是 。
A.edcba B.decba C.dceab D.abcde
3.若一个栈的入栈序列是 1、2、3、… 、n,其输出序列为 p
1
、p
2
、p
3
、… 、p
n
,若 p
1
=n,
则 p
i
为 。
A. i B. n = i C. n - i +1 D.不确定
4.栈结构通常采用的两种存储结构是 。
A.线性存储结构和链表存储结构 B.散列方式和索引方式
C.链表存储结构和数组 D.线性存储结构和非线性存储结构
5.判断一个栈 ST (最多元素为 m) 为空的条件是 。
A.ST->top!=0 B. ST->top==0 C. ST->top!= m D. ST->top== m
6.判断一个栈 ST (最多元素为 m) 为满栈的条件是 。
A.ST->top!=0 B. ST->top==0 C. ST->top!= m-1 D. ST->top== m-1
7.栈的特点是 1 ,队列的特点是 2 。
A.先进先出 B.先进后出
8.一个队列的入队序列是 1、2、3、4,则队列输出序列是 。
A.4、3、2、1 B.1、2、3、4 C.1、4、3、2 D.3、2、4、1
9.判断一个队列 QU (最多元素为 m) 为空的条件是 。
A. QU->rear-QU->front == m B. QU->rear-QU->front-1 == m
C. QU->front == QU->rear D. QU->front-QU->rear + 1
10.判断一个队列 QU (最多元素为 m) 为满队列的条件是 。
A. QU->rear-QU->front == m B. QU->rear-QU->front-1 == m
C. QU->front == QU->rear D. QU->front-QU->rear + 1
11.判断一个循环队列 QU (最多元素为 m) 为空的条件是 。
A. QU->front == QU->rear B. QU->front != QU->rear
C. QU->front == (QU->rear + 1) %m D. QU->front != (QU->rear + 1) %m
12.判断一个循环队列 QU (最多元素为 m) 为满队列的条件是 。
A. QU->front == QU->rear B. QU->front != QU->rear
C. QU->front == (QU->rear + 1) %m D. QU->front != (QU->rear + 1) %m
13 循环队列用数组 A[0, m-1]存放其元素值,已知其头尾指针分别是front 和 rear,则当前队
列中的元素个数是 。
A.(rear-front + m) %m B. rear-front + 1 C. rear-front-1 D. rear-front
14.栈和队列的共同点是 。
A.都是先进后出 B.都是先进先出
C.只允许在端点处插入、删除元素 D.没有共同点
填空题
1.向量、栈和队列都是 结构,可以在向量的 位置插入和删除元素;对于
栈只能在 插入和删除元素;对于队列只能在 插入元素和 删除
元素。
2.在一个长度为n 的向量中的第 i 个元素(1≤i≤n)之前插入一个元素时,需向后移动 个
元素。
3.在一个长度为 n 的向量中的删除第 i 个元素(1≤i≤n)时,需要向前移动 个元素。
4.向栈中压入元素的操作是 。
5.对栈进行退栈时的操作是 。
6.在一个循环队列中,队首指针指向队首元素的 。
7.从循环队列中删除一个元素时,其操作是 。
8.在具有 n 个单元的循环队列中,队满时共有 个元素的。
9.一个栈的输入序列是 12345,则栈的输出序列 43512 是 。
10.一个栈的输入序列是 12345,则栈的输出序列 12345 是 。
三、链表
单项选择题
1.不带头结点的单链表 head 为空的判定条件是 。
A.head==NULL B.head->nxt==NULL C.head->next==head D.head!=NULL
2.带头结点的单链表 head 为空的判定条件是 。
A.head==NULL B.head->nxt==NULL C.head->next==head D.head!=NULL
3.非空的循环单链表 head 的尾结点(由 p 所指向)满足 。
A.p->next==NULL B.p==NULL C.p->next==head D.p==head
4.在循环双链表的 p 所指结点之后插入 s 所指结点的操作是 。
A. p->right=s;s->left=p;p->right->left=s;s->right=p->right;
B. p->right=s;p->right->left=s;s->left=p;s->right=p->right;
C. s->left=p;s->right=p->right;p->right=s;p->right->left=s;
D. s->left=p;s->right=p->right; p->right->left=s;p->right=s;
5.在一个单链表中,已知 q 所指结点是 p 所指结点的前驱结点,若在 q 和 p 之间插入 s 结点,
则执行 。
A. s->next = p->next; p->next=s; B. p->next = s->next; s->next = p;
C. q->next = s; s->next = p; D. p->next = s; s->next = q;
6.在一个单链表中,已知 p 所指结点不是最后结点,在 p 之后插入 s 所指结点,则执行 。
A. s->next = p; p->next=s; B. s->next = p->next; p->next = s;
C. s->next = p->next; p = s; D. p->next = s; s->next = p;
7.在一个单链表中,若删除 p 所指结点的后续结点,则执行 。
A. p->next = p->next->next; B. p = p->next; p->next=p->next->next;
C. p->next = p->next; D. p =p->next ->next;
9.从一个具有 n 个结点的单链表中查找其值等于 x 结点时,在查找成功的情况下,需平均比
较 个结点。
A. n B. n/2 C. (n-1)/2 D. (n+1)/2
10.在一个具有 n 个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是 。
A. O(1) B. O(n) C. O(n
2
) D. O(nlog
2
n)
11.给定有 n 个元素的向量,建立一个有序单链表的时间复杂度是 。
A. O(1) B. O(n) C. O(n
2
) D. O(nlog
2
n)
12.向一个栈顶指针为 HS 的链栈中插入 s 所指结点,则执行 。
A. HS->next = s; B. s->next = HS->next; HS->next = s;
C. s->next = HS; HS = s; D. s->next = HS; HS = HS->next;
13.从一个栈顶指针为 HS 的链栈中删除一个结点,用 x 保存被删除结点的值,则执行 。
A. x = HS; HS = HS->next; B. x = HS->data;
C. HS = HS->next; x = HS->data; D. x = HS->data; HS = HS->next;
14.在一个链队中,假设 f 和 r 分别为队首和队尾指针,插入 s 所指结点,则执行 。
A. f->next = s; f = s; B. r->next = s; r = s;
C. s->next = r; r = s; D. s->next = f; f = s;
15. 在一个链队中,假设 f 和 r 分别为队首和队尾指针,删除一个结点,则执行 。
A. r = f->next; B. r = r->next;
C. f = f->next; D. f = r->next;
填空题
1.单链表是 的链接存储表示。
2.可以使用 表示树形结构。
3.在双链表中,每个结点有两个指针域,一个指向 ,另一个指向 。
4. 在一个单链表中,p 所指结点之前插入 s 所指向结点,可执行如下操作:
(1)s->next = ;
(2)p->next = s;
(3)t = p->data;
(4)p->data = ;
(5)s->data = ;
5.在一单链表中,删除 p 所指结点时,应执行以下操作:
(1)q = p->next;
(2)p->data = p->next->data;
(3)p->next = ;
(4)free (q);
6.带头结点的单链表 head 为空的条件是 。
7.在一个单链表中,p 所指结点之后插入 s 所指向结点,应执行 s->next = 和
剩余15页未读,继续阅读
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
- (HAL库)基于STM32F103C8T6的温控PID系统[Dht11、ESP8266、无线透传、L298N……]
- VoLTE高丢包优化指导书.xlsx
- Rust资源文件.zip
- 前后端分离实践:使用 React 和 Express 搭建完整登录注册流程
- gradle-publish-to-MavenLocal.zip
- 10份网络优化创新案例.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页