认识数据和数据结构

第一章 认识数据和数据结构

一、数据及其价值

1.数字、数值与数据

   ● 数字:一种用来表示数的书写符号。不同的记数系统有不同的表示形式。常用的有二进制、十进制、八进制、十六进制等表示形式。

   ● 数值:一个量用数字表示时,这个数字称为这个量的数值。

   ● 数据:指对现实世界客观事物进行记录并可以鉴别的符号,是事实或观察结果的逻辑归纳,是信息的载体,是计算机加工的对象。

2.数据与社会的关系

社会中的每个人都是数据的提供者,自然界中的事物也是数据的提供者,所有产生的数据形成大数据的一部分,形成的大数据反过来正在影响和改变着人们的生活

3.数据的价值和意义

数据中蕴藏着宝藏,数据正在成为新的原材料、新的生产资料,俨然已经成为基础设施的一部分。理解数据的作用及价值,掌握获取、加工、管理、分析数据的方法,对人们适应信息社会,学会数字化生活有着非常重要的意义。

二、对实际问题的数据抽象

1.抽象问题中的数据

将现实世界的事物或问题,转化为计算机世界的数据,就需要从解决问题的需要出发,抽取与问题解决相关的属性,用适合的数据表示这些属性,厘清数据之间的关系,建立数据模型,这就是数据抽象的过程。

2.分析数据之间的关系

计算机处理的数值计算问题能直接抽象出数学模型,但有些非数值计算问题,以及数据间的复杂关系并不能直接用数学模型表示。这些复杂关系中,最基本的关系有三种:线性关系、层次关系和网状关系。

3.建立数据模型

   ● 界定问题:明确解决问题的目标;确定操作的对象。

   ● 抽象特征:列出操作对象的属性;提取有关属性;用恰当的数据表示属性。

   ● 建立数据模型:分析数据间的关系;用合适的模型表示数据,数据元素是数据的基本单位,数据对象是性质相同的数据元素的集合,是数据的一个子集。

三、认识数据结构

1.数据结构

在计算机世界中,把数据元素以及数据元素之间的关系构成的集合称为数据结构。

数据元素之间的关系包括数据的逻辑结构和数据的物理结构(存储结构)。

(1)数据的逻辑结构

数据的逻辑结构:数据元素之间的逻辑关系。

(2)数据的存储结构

数据的存储结构:数据元素及其关系在计算机存储器中的存储方式。

数据存储结构包括数据元素的存储和数据元素之间关系的存储。它有两种存储方式:顺序存储结构和链式存储结构。顺序存储结构是把逻辑上相邻的数据元素存储在物理位置也相邻的单元中。链式存储结构对逻辑上相邻的元素不要求其在物理位置上也相邻。

2.数据类型

确定的数据类型有以下特点:

①所有数据元素都具有相同的取值范围。

②所有数据元素之间都有相同的关系。

③一般地,数据元素经过运算、操作之后所得的结果,其值依然落在原来的取值范围内;这个结果与其他数据元素之间的关系也需与原有数据元素之间的关系一致。

简单类型中的每个数据都是不可再分割的整体。在C++语言中的基本类型(整型、字符型和枚举型)、指针类型和空类型。结构类型是简单类型按照一定的规则构造的。

3.数据结构的重要作用

瑞士的计算机科学家尼夺古拉斯•沃斯提出:算法+数据结构=程序。算法是解决问题的有限步骤的序列,是一系列解决问题的清晰指令。数据结构是数据元素及数据元素之间的关系的集合。程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。

 随堂练习

一、单项选择题

1.下列说法不正确的是(  )。

A.“一、二、三”等中文大写是数字

B.小明身高180 cm,这里的180是数字

C.“红色”“圆的”“香甜可口”这些文字都是描述苹果特征的数据

D.图片、视频也属于数据

2.数据是一种重要的资源,通过科学管理和分析,可以实现数据应有的价值,其价值不包括(  )。

A.预测性价值  B.挖掘性价值 C.分析性价值  D.创新性价值

3.下列有关数据的意义,说法不正确的是(  )。

A.数据是信息加工的原材料

B.数据是社会发展的生产资料

C.数据是现代社会基础设施的一部分 

D.错误的数据不能提供任何价值和意义

4.除了第一个和最后一个数据,每一个数据仅有一个直接前驱和一个直接后继,数据之间的关系称为(  )。

A.线性关系  B.层次关系 C.网状关系  D.递进关系

5.在数据结构中,城市之间的交通联系属于(  )。

A.网状关系  B.层次关系 C.线性关系 D.集合关系

6.(  )是数据的不可分割的最小单位,通常用来描述一个属性。

A.数据对象  B.数据元素 C.数据项 D.数据结构

7.数据结构通常是研究数据的(  )。

A.存储结构和逻辑结构 B.存储和抽象

C.联系和抽象 D.联系与逻辑

8.每个节点只含有一个数据元素,所有存储节点相继存放在一个连续的存储空间里。这种存储结构称为(  )。

A.顺序结构  B.链式结构 C.索引结构  D.散列结构

9.线性结构是数据元素之间存在一种(  )关系。

A.一对多 B.多对多 C.多对一 D.一对一

10.任何两个节点之间都没有逻辑关系的结构是(  )。

A.图形结构  B.线性结构 C.树形结构  D.集合结构

11.下列对数据结构的描述正确的是(  )。

A.对同一事物,只能构造出一种数据结构

B.选择的数据结构不同,解决问题的步骤也不同

C.逻辑结构相邻的数据,其存储位置也一定相邻

D.对同一操作如插入、删除等,不同数据存储结构的实现方法相同

12.若a、b都为整型,则下列说法正确的是(  )。

A.如果a>b,则a所占的空间大于b所占的空间

B.a和b取值范围是相同的

C.a和b的运算规则可以不同

D.a+b一定能得到一个正确的值

13.下面关于表的叙述不正确的是(  )。

A.表中的每一行称为一个数据元素

B.表中的数据元素由若干数据项组成

C.表中的数据项是类型必须保持一致

D.表中的数据项不能重复

14.下列关于算法、数据结构、程序的说法不正确的是(  )。

A.算法是解决问题的有限步骤的序列

B.数据结构包括数据的逻辑结构和物理结构

C.程序是为实现特定目标而用计算机语言编写的命令序列集合

D.算法、数据结构、程序之间没有必然联系,是不同的三个概念

二、判断题

15.具有线性关系的数据,其数据模型是表,如学生成绩表。(  )

16.当数据组织的方式、数据之间的关系不同时,实现同一功能的数据处理的过程就不同,数据处理的效率也不同。(  )

17.数据的逻辑结构和数据的存储结构是相同的。(  )

18.数据的物理结构是指数据及其关系在计算机中的存储形式。(  )

19.数据结构的选择,对程序开发速度和程序运行的效率没有太大的影响。(  )

20.在线性关系中,仅有一个直接前驱的一定是最后一个元素。(  )

三、填空题

21.无法用常规软件工具进行高效捕捉、管理和处理的数据集合,被称为    

22.数据的基本单位是    ,在计算机程序中通常作为一个整体进行考虑和处理。

23.在计算机世界中,把数据元素及数据元素之间的关系构成的集合称为    

24.    是对数据的取值范围、数据元素之间的结构以及允许施加操作的一种总体描述。

25.按数据类型“值”的不同特性,高级程序设计语言中的数据类型可分为简单类型和      两种。

四、应用题

26.简述数据的抽象过程。

27.请在下图中补全“数据结构”这一概念的思维导图。