第一章绪论练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论练习题
一、填空题
1.数据结构是一门研究非数值计算的程序设计问题中计算机的______以及它们之间的______和运算等的学科。
2.数据结构被形式地定义为(D,R),其中D是______的有限集合,R是D上的______有限集合。
3.数据结构包括数据的______、数据的______和数据的______这三个方面的内容。
4.数据结构按逻辑结构可分为两大类,它们分别是______和______。
5.线性结构中元素之间存在______关系,树形结构中元素之间存在______关系,图形结构中元素之间存在______关系。
6.在线性结构中,第一个结点______前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点______后继结点,其余每个结点有且只有1个后继结点。
7.在树形结构中,树根结点没有______结点,其余每个结点有且只有______个前驱结点;叶子结点没有______结点,其余每个结点的后继结点数可以______。
8.在图形结构中,每个结点的前驱结点数和后继结点数可以______。
9.数据的存储结构可用四种基本的存储方法表示,它们分别是______。
10.数据的运算最常用的有5种,它们分别是______。
11.一个算法的效率可分为______效率和______效率。
12.计算机专业人员必须完成的两项基本任务是:______和______。
13.数据在计算机存储器中的存在形式称为______。
14.概括地说,数据结构课程的主要内容包括:数据的______、定义在______、数据的______的实现。此外,该课程还要考虑各种结构和实现方法的______。
15.由一种______结构和一组______构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。
16.存储结构是逻辑结构的______实现。
17.数据表示任务是逐步完成的,即数据表示形式的变化过程是______->______->______。
18.数据处理任务也是逐步完成的,即转化过程是______->______->______。
19.从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即______、______和______。
20.根据需要,数据元素又被称为______、______、______或______。
21.在有些场合下,数据项又称为__________或__________,它是数据的不可分割的最小标识单位。
22.从某种意义上说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据
可由若干个__________构成,数据元素可由若干个__________构成。
23.根据数据元素之间关系的不同特性,通常有__________、_________、__________、__________四类基本逻辑结构,它们反映了四类基本的数据组织形式。
24.根据操作的效果,可将运算分成以下两种基本类型:
A)__________型运算,其操作改变了原逻辑结构的“值”,如结点个数、某些结点的内容等;
B)__________型运算,其操作不改变原逻辑结构,只从中提取某些信息作为运算的结果。
25.将以某种逻辑结构S为操作对象的运算称为“__________”,简称“__________”。
26.一般地,可能存在同一逻辑结构S上的两个运算A和B,A的实现需要或可以利用B,而B的实现不需要利用A。在这种情况下,称A可以“__________”为B。
27.存储实现的基本目标是建立数据的__________。
28.一般地,一个存储结构包括__________、__________、__________三个主要部分。
29.通常,存储结点之间可以有__________、__________、__________、_________四种关联方式,称为四种基本存储方式。
30.可用任何一种存储方式所规定的存储结点之间的关联方式来间接表达给定逻辑
结构S中数据元素之间的逻辑关系。由此得到的存储结构,称为____________________或__________。31.一个运算的实现是指一个完成该运算功能的__________。运算实现的核心是处理步骤的规定,即___________。
32.任何算法都必须用某种语言加以描述。根据描述算法的语言的不同,可将算法分
为:___________、___________、___________三类。
33.数据结构课程着重评论算法的___________,又称为“___________”。
34.通常从___________、___________、___________、___________等几方面评价算法的(包括程序)的质量。
35.一个算法的时空性能是指该算法的___________和______________________,前者是算法包含的___________,后者是算法需要的___________。
36.通常采用下述办法来估算求解某类问题的各个算法在给定输入下的计算量:
①根据该类问题的特点合理地选择一种或几种操作作为“___________”;
②确定每个算法在给定输入下共执行了多少次___________,并将此次数规定为该算法在给定输入下的
___________。
37.通常,一个算法在不同输入下的计算量是不同的。则可用以下两种方式来确定一个算法的计算量:
①以算法在所有输入下的计算量的最大值作为算法的计算量,这种计算量称为算法的________或
___________。
②以算法在所有输入下的计算量的加权平均值作为算法的计算量,这种计算量称为算法的___________
或___________。
38.最坏情况时间复杂性和平均时间复杂性统称为___________或___________。
39.在一般情况下,一个算法的时间复杂性是___________的函数。
40.一个算法的输入规模或问题的规模是指___________。
41.常见时间复杂性的量级有:常数阶O(___________)、对数阶O(___________)、线性阶O(___________)、平方阶O(___________)、和指数阶O(___________)。
通常认为,具有指数阶量级的算法是___________,而量级低于平方阶的算法是___________的。
42.数据结构的基本任务是数据结构的___________和___________。
43.数据结构的课程的主要内容可以概括为:___________、___________、___________和___________。
44.___________与数据元素本身的内容和形式无关。
45.从逻辑关系上讲,数据结构主要分为两大类,它们是___________和___________。
46.程序段“for(i=l;i<=n;i++){k++;for(j=1;j<=n;j++)l+=k;}”的时间复杂度T(n)=___。
47.程序段“i=1;while(i<=n)i=i*2;”的时间复杂度T(n)=_____。
二、单项选择题
()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)易读性、稳定性和安全性
()7.以下说法错误的是
A)用数字式计算机解决问题的实质是对数据的加工处理
B)程序设计的实质是数据处理
C)数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式