第1章 绪论
一、选择题
1. 算法的计算量的大小称为计算的( );
A.效率 B. 复杂性 C. 现实性 D. 难度
2. 算法的时间复杂度取决于( );
A.问题的规模 B. 待处理数据的初态 C. A和B
3.计算机算法指的是( ),它必须具备( )这三个特性;
(1)A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法
(2)A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性
C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性
4.一个算法应该是( );
A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C
5. 下面关于算法说法错误的是( );
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性
D. 以上几个都是错误的
6. 下面说法错误的是( );
(1)算法原地工作的含义是指不需要任何额外的辅助空间;(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法;(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界;(4)同一个算法,实现语言的级别越高,执行效率就越低
A.(1) B.(1),(2) C.(1),(4) D.(3)
7.从逻辑上可以把数据结构分为( )两大类;
A.动态结构、静态结构 B.顺序结构、链式结构
C.线性结构、非线性结构 D.初等结构、构造型结构
8.以下与数据的存储结构无关的术语是( );
A.循环队列 B. 链表 C. 哈希表 D. 栈
9.以下数据结构中,哪一个是线性结构( );
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
10.以下那一个术语与数据的存储结构无关( );
A.栈 B. 哈希表 C. 线索树 数据结构与算法分析答案 D. 双向链表
11.在下面的程序段中,对x的赋值语句的频度为( );
FOR i:=1 TO n DO
FOR j:=1 TO n DO
x:=x+1;
A. O(2n) B.O(n) C.O(n2) D.O(log2n)
12.程序段 FOR i:=n-1 DOWNTO 1 DO
FOR j:=1 TO i DO
IF A[j]>A[j+1]
THEN A[j]与A[j+1]对换;
其中 n为正整数,则最后一行的语句频度在最坏情况下是( );
A. O(n) B. O(nlogn) C. O(n3) D. O(n2)
13.以下哪个数据结构不是多型数据类型( );
A.栈 B.广义表 C.有向图 D.字符串
14.以下数据结构中,( )是非线性数据结构;
A.树 B.字符串 C.队 D.栈
15. 下列数据中,( )是非线性数据结构;
A.栈 B. 队列 C. 完全二叉树 D. 堆
16.连续存储设计时,存储单元的地址( );
A.一定连续 B.一定不连续 C.不一定连续 D.部分连续,部分不连续
17.以下属于逻辑结构的是( );
A.顺序表 B. 哈希表 C.有序表 D. 单链表
二、判断题
1. 数据元素是数据的最小单位。( )
2. 记录是数据处理的最小单位。 ( )
3. 数据的逻辑结构是指数据的各数据项之间的逻辑关系;( )
4.算法的优劣与算法描述语言无关,但与所用计算机有关。( )
5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )
6.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。( )
7.程序一定是算法。( )
8.数据的物理结构是指数据在计算机内的实际存储形式。( )
9. 数据结构的抽象操作的定义与具体实现有关。( )
10. 在顺序存储结构中,有时也存储数
11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( )
12. 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。( )
13. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构. ( )
三、填空
1.数据的物理结构包括 的表示和 的表示。
2. 对于给定的n个元素,可以构造出的逻辑结构有 (1) , (2) , (3) ,__(4)_四种。
3.数据的逻辑结构是指 。
4.一个数据结构在计算机中 称为存储结构。
5.抽象数据类型的定义仅取决于它的一组__(1)_,而与_(2)_无关,
即不论其内部结构如何变化,只要它的_(3)_不变,都不影响其外部使用。
6.数据结构中评价算法的两个重要指标是
7. 数据结构是研讨数据的_(1)_和_(2)_,以及它们之间的相互关系,
并对与这种结构定义相应的_(3)_,设计出相应的(4)_。
8. 一个算法具有5个特性: (1) 、 (2) 、 (3) ,有零个或多个输入、有一个或多个输出。
9.已知如下程序段
FOR i:= n DOWNTO 1 DO {语句1}
BEGIN
x:=x+1; {语句2}
FOR j:=n DOWNTO i DO {语句3}
y:=y+1; {语句4}
END;
语句1执行的频度为 (1) ;语句2执行的频度为 (2) ;语句3执行的频度为 (3) ;语句4执行的频度为 (4) 。
10.在下面的程序段中,对x的赋值语句的频度为______(表示为n的函数)
FOR i:=1 TO n DO
FOR j:=1 TO i DO
FOR k:=1 TO j DO
x:=x+delta;
11.下面程序段中带下划线的语句的执行次数的数量级是:
i:=1; WHILE i<n DO i:=i*2;
12. 下面程序段中带下划线的语句的执行次数的数量级是( )。
i:=1;
WHILE i<n BEGIN FOR j:=1 TO n DO x:=x+1;i:=i*2 END;
13. 下面程序段中带有下划线的语句的执行次数的数量级是( )
i:=n*n WHILE i<>1 DO i:=i div 2;
14. 计算机执行下面的语句时,语句s的执行次数为 _______ 。
FOR(i=l;i<n-l;i++)
FOR(j=n;j>=i;j--)
s;
15. 下面程序段的时间复杂度为________。(n>1)
sum=1;
for (i=0;sum<n;i++) sum+=1;
16.设均为自然数,m可表示为一些不超过n的自然数之和,f(m,n)为这种表示方式的数目。例f(5,3)=5,有5种表示方式:3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整
int f(m,n)
int m,n;
{ if(m==1)
return (1) ;
if(n==1){
return (2) ;}
if(m<n)
{return f(m,m);}
if (m==n)
{return 1+ (3) ;}
return f+f(m-n, (4) );
}
②执行程序,f(6,4)= 。
17. 在有n个选手参加的单循环赛中,总共将进行______场比赛。
四、应用题
1. 数据结构是一门研究什么内容的学科
2. 数据元素之间的关系在计算机中有几种表示方法各有什么特点
3. 数据类型和抽象数据类型是如何定义的。二者有何相同和不同之处,抽象数据类型的主要特点是什么使用抽象数据类型的主要好处是什么
4. 回答问题(每题2分)
(1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着怎样的关系
(2)若逻辑结构相同但存储结构不同,则为不同的数据结构。这样的说法对吗举例说明之。
(3)在给定的逻辑结构及其存储表示上可以定义不同的运算集合,从而得到不同的数据结构。这样说法对吗举例说明之。
(4)评价各种不同数据结构的标准是什么
5.评价一个好的算法,您是从哪几方面来考虑的
6.解释和比较以下各组概念
(1)抽象数据类型及数据类型
(2)数据结构、逻辑结构、存储结构
(3)抽象数据类型
(4)算法的时间复杂性
(5)算法
(6)频度
7. 根据数据元素之间的逻辑关系,一般有哪几类基本的数据结构
8.对于一个数据结构,一般包括哪三个方面的讨论9. 当你为解决某一问题而选择数据结构时,应从哪些方面考虑10. 若将数据结构定义为一个二元组(D,R),说明符号D,R 应分别表示什么
11.数据结构与数据类型有什么区别12.数据的存储结构由哪四种基本的存储方法实现13.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,写出这些结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论