《数据结构与算法》第二部分 习题精选
一、填空题
1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 以及它们之间的 和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。
3. 数据结构包括数据的 、数据的 和数据的 这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是 和 。
5. 线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。
6. 在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个前驱结点;叶子结点
没有 结点,其余每个结点的后续结点数可以 。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是 、 、 和 。
10. 数据的运算最常用的有5种,它们分别是 、 、 、 、 。
11. 一个算法的效率可分为 效率和 效率。
二、单项选择题
( )1. 非线性结构是数据元素之间存在一种:
A)一对多关系 B)多对多关系
C)多对一关系 D)一对一关系
( )2数据结构中,与所使用的计算机无关的是数据的 结构;
A) 存储 B) 物理 C) 逻辑 D) 物理和存储
( )3算法分析的目的是:
A) 出数据结构的合理性 B)数据结构与算法分析答案 研究算法中的输入和输出的关系
C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性
()4算法分析的两个主要方面是:
A) 空间复杂性和时间复杂性 B) 正确性和简明性
C) 可读性和文档性 D) 数据复杂性和程序复杂性
()5. 计算机算法指的是:
A) 计算方法 B) 排序方法
C) 解决问题的有限运算序列 D) 调度方法
()6. 计算机算法必须具备输入、输出和 等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性
C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性
三、阅读下列C程序段,写出相应的执行结果
1.printf(“Input x”);
scanf(“%d”,&x);
if (x<=30)
if(x>20) y=x;
else if (x>10) y=2*x;
if (x>0&&x<30)printf(“x=%d,y=%d”,x,y);
else printf(“输入数据错!”);
试写出当x分别为18,8时的执行结果。
四、分析下面各程序段的时间复杂度
1. for (i=0; i<n; i++)
for (j=0; j<m; j++)
A[i][j]=0;
3. x=0;
for(i=1; i<n; i++)
for (j=1; j<=n-i; j++)
x++;
精选习题答案
一、填空题
1. 操作对象、 关系 2. 数据元素、关系 3. 逻辑结构、存储结构、运算 4. 线性结构、非线性结构 5.一对一关系、一对多关系,多对多关系。6. 没有、没有 7. 前驱、1、后续、任意多个 8. 任意多个9.顺序 、 链式 、 索引、散列 10.插入 、删除、修改、查 、排序
11. 时间 空间
二、1、B 2、C 3、C 4、A 5、C 6、B
1、答:运行结果为:x=18,y=36
x=8,y=运行前的值, 且从x=30开始为数据错
2、答:运行结果为: 5,120 此题为递归运算
四、
1、答:O(m*n) 2、答:O(n2) 3、O(n2) 4、O(log3n)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论