数据结构练习题 第一章 概论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概论
一、名词解释
1.数据表示
2.数据处理
3.数据
4.数据元素
5.逻辑关系
6.逻辑结构
7.结构
8.运算 9.基本运算 10.存储结构 11.顺序存储结构 12.链式存储结构
13.索引存储结构 14.散列存储结构 15.算法 16.运行终止的程序可执行部分
17.伪语言算法 18.非形式算法 19.时空性能 20.时间复杂性 21.数据结构
二、填空题
1.计算机专业人员必须完成的两项基本任务是:_数据表示__和__数据处理__。
2.数据在计算机存储器中的存在形式称为_机内表示_。
3.概括地说,数据结构课程的主要内容包括: 数据的_逻辑结构__、定义在_逻辑结构上的基本运算__、数据的_存储结构和运算__的实现。此外,该课程还要考虑各种结构和实现方法的_评价和选择_。
4.由一种_逻辑性_结构和一组_基本运算_构成的整体是实际问题的一种数学模型,这种数学模型的建立、选择和实现是数据结构的核心问题。
5.存储结构是逻辑结构的_存储_实现。
6.数据表示任务是逐步完成的,即数据表示形式的变化过程是_机外表示_->_逻辑结构_->_存储结构__。
7.数据处理任务也是逐步完成的,即转化过程是_处理要求_->_基本运算和运算_->_算法。
8.从数据结构的观点看,通常所说的"数据"应分成三个不同的层次,即_数据_、_数据元素_和_数据项_。
9.根据需要,数据元素又被称为_元素_、_结点_、_顶点_或_记录_。
10.在有些场合下,数据项又称为_字段_或_域_,它是数据的不可分割的最小标识单位。
11.从某种意义上说,数据、数据元素和数据项实际反映了数据组织的三个层次,数据
可由若干个_数据元素_构成,数据元素可由若干个_数据项_构成。
12.根据数据元素之间关系的不同特性,通常有_集合_、_线性结构_、_树形结构__、_图状结构_四类基本逻辑结构,它们反映了四类基本的数据组织形式。
13.根据操作的效果,可将运算分成以下两种基本类型:
①__加工_型运算,其操作改变了原逻辑结构的“值”,如结点个数、某些结点的内容等;
②__引用_型运算,其操作不改变原逻辑结构,只从中提取某些信息作为运算的结果。
14.将以某种逻辑结构S为操作对象的运算称为“_定义在S上的运算_”,简称“_S上运算_”。
15.一般地,可能存在同一逻辑结构S上的两个运算A和B,A的实现需要或可以利用B,而B 的实现不需要利用A。在这种情况下,称A可以“_归纳_”为B。
16.存储实现的基本目标是建立数据的_机内表示_。
17.一般地,一个存储结构包括_存储结点__、_数据元素之间关联方式的表示_、_附加设施_三个主要部分。
18.通常,存储结点之间可以有_顺序存储方式_、_链式存储方式_、_索引存储方式_、_散列存储方式_四种关联方式,称为四种基本存储方式。
19.可用任何一种存储方式所规定的存储结点之间的关联方式来间接表达给定逻辑
结构S中数据元素之间的逻辑关系。由此得到的存储结构,称为_给定逻辑结构S的存储实现__或_存储映象_。
20.一个运算的实现是指一个完成该运算功能的_程序_。运算实现的核心是处
理步骤的规定,即_算法设计_。
21.任何算法都必须用某种语言加以描述。根据描述算法的语言的不同,可将算法分
为:__运行终止的程序可执行部分_、_伪语言算法_、_非形式算法_三类。
22.数据结构课程着重评论算法的_时空性能_,又称为“_算法分析_”。
23.通常从_正确性能_、_易读性_、_健壮性_、_高效性_等几方面评价算法的(包括程序)的质量。
24.一个算法的时空性能是指该算法的_时间性能_和_空间性能_,前者是算法包含的_计算量,后者是算法需要的_存储量_。
25.通常采用下述办法来估算求解某类问题的各个算法在给定输入下的计算量:
①根据该类问题的特点合理地选择一种或几种操作作为“_标准操作_”;
②确定每个算法在给定输入下共执行了多少次_标准操作_,并将此次数规定为该算法在给
定输入下的_计算量__。
26.通常,一个算法在不同输入下的计算量是不同的。则可用以下两种方式来确定一个算法的计算量:
①以算法在所有输入下的计算量的最大值作为算法的计算量,这种计算量称为算法的____
最坏情况时间复杂性_或_最坏情况时间复杂度_。
②以算法在所有输入下的计算量的加权平均值作为算法的计算量,这种计算量称为算法的_
平均时间复杂性_或_平均时间复杂度__。
27.最坏情况时间复杂性和平均时间复杂性统称为_时间复杂性_或_时间复杂度___。
28.在一般情况下,一个算法的时间复杂性是_算法输入规模_的函数。
29.一个算法的输入规模或问题的规模是指_作为该算法输入的数据所含数据元素的数目,或与此数目有关的其他参数__。
30.常见时间复杂性的量级有:常数阶O(_1__)、对数阶O(_log2n __)、线性阶O (_n _)、平方阶O(_n2_)、和指数阶O(_2n_)。通常认为,具有指数阶量级的算法是_实际不可计算_,而量级低于平方阶的算法是_高效_的。
31.数据结构的基本任务是数据结构的_设计_和_实现__。
32.数据结构的课程的主要内容可以概括为:_数据结构的定义_、_数据结构的实现、_数据结构的评价_和_选择_。
33._数据的逻辑结构_与数据元素本身的内容和形式无关。
34.从逻辑关系上讲,数据结构主要分为两大类,它们是_线性结构_和__非线性结构_。
35.程序段“for(i=l;i<=n;i++){k++;for(j=1;j<=n;j++)l+=k;}”的时间复杂度T(n)= O(n2)。
36.程序段“i=1;while(i<=n)i=i*2;”的时间复杂度T(n)= o(log2n) _。
三、单项选择题
1.以下说法错误的是2
①用数字式计算机解决问题的实质是对数据的加工处理
②程序设计的实质是数据处理
③数据的逻辑结构是数据的组织形式,基本运算规定了数据的基本操作方式
④运算实现是完成运算功能的算法,或这些算法的设计
⑤数据处理方式总是与数据某种相应的表示形式相联系,反之亦然
2.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的
数据组织形式。以下解释错误的是 ( 1 )
①集合中任何两个结点之间都有逻辑关系但组织形式松散
②线性结构中结点按逻辑关系依次排列形成一条"锁链"
③树形结构具有分支、层次特性,其形态有点像自然界中的树
④图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接
3.关于逻辑结构,以下说法错误的是 ( 2 )
①逻辑结构与数据元素本身的形成、内容无关