✅ 操作成功!

数据结构名词解释

发布时间:2023-06-04 作者:admin 来源:文学

数据结构名词解释

数据结构名词解释

忽悠网-农业经济学

2023年2月15日发(作者:我的语文老师作文500字)

1.6习题

一、名词解释

1.数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

结构,就是数据之间的关系,即数据与数据之间的排列方式。

2.数据元素:是有一定意义数据的基本单位,可由若干个数据项组成,在计算机中通

常作为整体处理,也可称为结点、记录。

如:在人类社会中,一个“人”是一个数据元素,是有一定意义的作为整体处理的基本

单位,在社会关系里,一般都是拿某个人说事儿,不会拿某个人的胳膊或腿儿说事儿;

但在医学结构上,人又由若干部分组成,比如四肢、心、肝、脾、肺、肾等。

3.数据项:是具有独立含义的最小标识单位。如一个“人”有眼睛、耳朵、手等数据

项,也可有姓名、年龄、性别等这些数据项。一个记录可称为一个数据元素,而这个元素中

的某一字段就是一个数据项。

4.逻辑结构有时也称数据结构,它是数据元素之间关系的描述,可以看作是从具体问

题抽象出来的数学模型,与数据的存储无关,是独立于计算机的。

5.物理结构是数据的逻辑结构在计算机中的表示和实现,也称存储结构。

6.时间复杂度:当问题规模很大时,程序执行时间随问题规模增长程度的一个度量。

7.空间复杂度:是指程序运行从开始到结束所需的存储量。

二、判断题

(1)数据元素是最小的项。(×)

(2)算法就是程序。(×)

(算法是解决问题的有限指令序列,它可以用某个具体的程序来表示,也可以用自然语

言、流程图、伪代码表示。

即可以用程序来表达算法,但算法不见得就是程序。

目前,用来表达算法用得最多的是伪代码,因为伪代码比具体的程序要求宽松、易理解,

同时又比自然语言更容易转换成可实现的程序。)

(3)数据结构是数据对象与对象中数据元素之间关系的集合。(√)

(4)从逻辑关系上讲,数据结构主要分为两大类:线性结构和非线性结构。(√)

(5)数据的逻辑结构与数据元素本身的内容和形式无关。(√)

三、填空题

(1)算法的一个特性是确定性,即针对一组确定的输入,算法应始终得出一组确定的

结果。

(2)算法的一个特性是有穷性,即算法必须执行有限步就结束。

(3)数据是_信息的载体,它能够被计算机程序识别、存储和加工处理。

(4)此题不严谨。

数据结构是带结构的数据元素的集合,因此,可以说数据结构由“数据”和“结构”

两个元素组成;

另外,一般讨论一个具体的数据结构时,我们会讨论它的_逻辑数据、物理结构和数

据的运算三个方面。

(就像“土豆炒牛肉”由土豆和牛肉两样主菜组成,当我们讨论这个菜品时,会讨论它的

色、香、味三个方面。)

(5)数据结构的逻辑结构包括线性结构和非线性结构结构两大类。

四、简答题

1.数据结构中数据元素之间的逻辑关系可以由四种基本数据关系组成,简述它们的名

称与含义。

答:

(1)集合结构:在集合结构中,数据元素间的关系是“属于同一个集合”。集合是元素

关系极为松散的一种结构。

(2)线性结构:该结构的数据元素之间存在着“一对一”的关系。

(3)树型结构:该结构的数据元素之间存在着“一对多”的关系。

(4)图形结构:该结构的数据元素之间存在着“多对多”的关系。

2.简述算法的特性。

答:

(1)有穷性。一个算法必须在有穷步之后结束,即必须在人类现有的寿命长度下、有

现实意义的有限时间内完成。如你编写算法,计算机需要30年的时间才能结束,算法的意

义就不大。

(2)确定性。算法的每一步必须有确切的定义,无二义性。相同的输入仅有唯一的输

出结果。(比如:"小明对小强说他的爸爸去出差了"就是一个歧义句。)

(3)可行性。算法中的每一步都可实现,即每一步都在当前环境条件下可以通过有限

次运算实现。

(4)输入。一个算法具有零个或多个输入,可以没有输入。

(5)输出。一个算法具有一个或多个输出,至少有一个输出。(没有输出对我们人类就

没有反馈,那么这个算法就没有意义。)

3.设计一个好的算法通常要考虑哪些要求?

要设计一个好的算法通常要考虑以下的要求。

(1)正确性。算法的执行结果应当满足预先规定的功能和性能要求。

“正确性”的含义是所设计的程序没有语法错误,对于刁难性的数据也能够得到满足要

求的输出结果。

(2)可读性。一个算法应当思路清晰、层次分明、简单明了、易读易懂。

一个好的算法首先应该是便于交流,其次才是机器可执行,可读性好的算法有助于编程

人员对算法的理解,而难懂的算法对于隐藏的错误不易调试和修改。

(3)健壮性(鲁棒性)。当输入不合法数据时,应能作适当处理,不至引起严重后果,

陷入死机。

(4)高效率和低存储量。有效使用存储空间和有较高的时间效率。

4.常用算法大致可以分为几大类?

答:常用的算法大致可以被分为蛮力算法、分治算法、减治算法、变治算法以及动态规

划算法等几大类。

五、观察下列算法回答以下问题。

(1)每一个算法的意图是什么?

(2)每一个算法的关键步骤是什么?

(3)每一个算法的关键步骤执行了多少步?

(4)算法的时间复杂度是什么?

①for(i=0;i

for(j=0;j

a++;

答:

算法意图:变量a自增n2次;

算法的关键步骤:a++;

关键步骤执行次数:n2次;

算法的时间复杂度:T(n)=O(n2)

②for(i=0;i

for(j=i;j

x++;

答:

算法意图:什么也不做;

算法的关键步骤:x++;

关键步骤执行次数:0次;

算法的时间复杂度:T(n)=O(1)

分析:

虽然看起来是双层循环,但第二次循环for(j=i;j

条件而不执行;所以事实上第一层循环的任何一次执行,都是什么也不做。

无论问题规模n为多少,关键步骤“x++;”的执行次数都为0次。常量阶的时间复杂度

记为T(n)=O(1)。

③i=1;

答:

算法意图:将i的值赋值为1;

算法的关键步骤:i=1;

关键步骤执行次数:1次;

算法的时间复杂度:T(n)=O(1)

👁️ 阅读量:0