一、问题背景
博主最近在准备2020年春招复习数据结构这门功课时,采用了王道论坛的《2020年数据结构考研复习指导》这本书,该书的第一章节便是数据结构的基本概念:数据、数据元素、数据项、数据对象、数据结构。但该书对这几个容易混淆的概念并未举例编程中实际的例子来甄别他们的差异,因此博主李同学在网上查询了相关资料并做出了下文的总结。
二、数据、数据元素、数据项、数据对象、数据结构
1.思维导图
2.区别和详细解释
-
数据(Data)
:描述客观事物属性的数、字符及所有能被输入到计算机中并被计算机程序识别和处理的符号的集合。
数据
不仅包括整形、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。 数据必须具备两个前提:(1)可以输入到计算机中;(2)能被计算机程序处理。对于整型、实型等数值类型,可以进行数值计算;而对于字符数据类型,就需要非数值的处理;而声音、图像、视频等可以通过编码的手段变成字符数据来处理。
-
数据对象(Data Object)
:具有相同性质的数据元素的集合。数据对象是数据的一个子集。
什么叫性质相同呢?是指数据元素具有相同数量和类型的数据项,比如人 这个例子,都有姓名、生日、性别等相同的数据项。 既然数据对象是数据的子集,在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆的情况下,我们将数据对象简称为数据。
-
数据元素(Data element)
:数据的基本单位,也称结点(node)或记录(record)。
比如 畜类 牛、马、羊、鸡、猪、狗等动物当然就是畜类的数据元素。
-
数据项(Data item)
:构成数据元素的不可分割、有独立含义的最小单位,也称域(field)。
一个数据元素由若干个数据项组成。
- 数据结构(Data Structure):相互之间存在一种或多种特定关系的数据元素的集合。
数据元素都不是孤立存在的,它们之间存在某种关系,这些数据元素之间的关系称为结构(structure)。
3.实际举例
3.1数据库表格中的数据、数据元素、数据项、数据对象
假设有两张数据库表格,下面第1张表为人员表,下面第2张表为课程表, 表的格式如下:
姓名 | 性别 | 身高 | 课程代号 |
---|---|---|---|
小明 | 男 | 180 | A |
小红 | 女 | 180 | A |
小绿 | 男 | 180 | B |
课程代号 | 课程名 |
---|---|
A | 语文 |
B | 数学 |
在数据库中,数据库的一张表格
对应Java中的类
。而数据库表格的一行数据
对应Java中的对象
。而数据库表格中每一列的第一个单元格
对应Java中的成员变量(属性)
。
这两张数据库表格就是数据
。而单独的一张表就称为数据对象
,即人员表是一个数据对象,课程表也是一个数据对象。而每张表中的每一行就称为数据元素
。而姓名,性别,身高,课程代号,课程名就称为数据项
。
本文参考文献:
[1]数据结构 基本概念(数据项–数据元素–数据对象)
[2]数据、数据元素、数据项、数据对象的介绍和理解
[3]数据、数据元素、数据项、数据对象关系图解
[4]数据、数据元素、数据项、数据对象的介绍和理解
[5]数据、数据元素、数据项、数据对象的理解