数据结构基本概念澄清

本文详细阐述了数据结构的基本概念,包括数据、数据元素、数据对象、数据结构的四种基本分类,以及存储结构的顺序和非顺序映像。还讨论了数据类型和抽象数据类型的概念,强调了它们在计算机科学中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型

1、数据:客观事物的符号表示,在计算机科学中是指所有能够输入到计算机中并被计算机程序处理的符号的总称。
数据含义的核心要点是“符号”。这种“符号”是对现实世界中客观事物的一种抽象,一种离散化的描述,一种被人们普遍接受的约定。例如,人们打电话时,声音的振动引起电流的变化,然后将电流转换成离散的二进制进行传输;达到另一端时,再从二进制转换成模拟的信号,即电流,这样就能进行自然声音的传输。这个过程中,声音作为一种客观事物,首先被符号化为电流,这是数据化的第一阶段;然后电流继续转换成二级制字串,这是数据化的第二阶段。仅这两阶段,就看到了一个我们熟悉的事物是怎样符号化,抽象化和离散化。

2、数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时候,一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。
从集合的角度来看,数据元素组成了数据。但是集合中的元素也可以是集合,所以数据元素更低一层是数据项。例如,数据库中的一种用户表,每一个记录都是一个数据元素,在处理时看作一个用户;每个用户都有他的属性:姓名、密码、年龄等,这些是数据项。

3、数据对象:性质相同的数据元素的集合,是数据的一个子集。
何谓“性质相同”?数据元素之间某种属性的相同,也可以理解成数据元素的某个数据项可以被划分为一个集合。例如,将月收入大于2万的的用户定义为高级用户,那么“高级用户”就是一个数据对象。

数据、数据元素、数据项和数据对象之间的关系:

  • 数据项是数据的不可分割的最小单位,属于原子。
  • 数据元素是数据项的集合,注意集合可为空。
  • 数据对象是数据元素的集合,是数据的子集。

4、数据结构:相互之间存在一种或者多种特定关系的数据元素的集合。
结构:数据元素之间存在的关系。
所以数据结构又可以表述为:有一种或者多种结构的数据元素的集合。
结构的四种基本分类:
(a)集合:结构中的数据元素除了“同属于一个集合外”,没有其他关系。
(b)线性结构:结构中的数据元素仅存在一对一的关系。
(c)树形结构:结构中的数据元素之间存在一个对多个的关系。
(d)图状结构(网状结构):结构中的数据元素存在多个对多个的关系。

集合结构中不能单纯由一个数据元素找到其他的任何一个,因为它们之间除了“同属于一个集合外”的关系。例如许多离散的点的集合。

线性结构能够由一个元素找到其他元素中的至多一个。例如,单链表,能够由当前结点的指针域找到下一个结点,当然如果当前结点是最后一个结点,指针域为NULL,不能找到其他数据元素。另外单链表是不能找到它的前驱的。

树形结构中的数据元素可以由一个找到其他元素中的多个或零个,但只能找到比当前结点层次低的。一个结点只能与上一层的一个结点关联,但可以与下一层多个结点关联。

图状结构的“多对多”是相对于树形结构而言,加入树形结构的结点不仅能与下层多个结点关联,也能与上层的结点相关联,那么就变成了图状结构。

由此可见,这里的“一对一”“一对多”“多对多”都是针对一个数据元素的与之相关联的两边数据元素而言。“一对一”在单链表中,就是一个结点,它的前驱和后继一般而言是1:1的;而普通树,一个结点的父节点和孩子是1:n的;图状结构中,一个结点,相对于树而言,是m:n的。

5、存储结构:数据结构在计算机中的表示(又称映像),又称物理结构。它包含数据元素的表示和关系的表示。

数据元素表示:在计算机中,用一个由若干个位组合起来的一个位串表示一个数据元素。通常称这个位串为元素或者结点。当数据元素中由多个数据项组成,位串被分为多个子串,这些字串被称为数据域。

关系的表示分为两种:顺序映像和非顺序映像,对应两种不同的存储结构:顺序存储结构和链式存储结构。
顺序映像:利用元素在存储器中的相对位置来表示数据元素之间的逻辑关系。例如,C语言中的一维数组。
非顺序映像: 借助指示存储地址的指针来表示数据元素之间的逻辑关系,例如C语言中的指针。而在汇编中,可以看到这种指针实际上也就是一个量,不过是表示一个地址的量。

6、数据对象:是一个值的集合和定义在这个值集合上的一组操作的总称。
最早出现在高级程序语言中,用以刻画操作对象的特性。
类型明显或隐含地规定了程序在执行期间变量或表达式所有可能取值的范围,以及在这些值上允许的操作。

按照值的特性,高级语言中的数据类型分为两类:非结构的原子类型和结构类型。
原子类型的值是不可分解的;而结构类型,其值是由若干成分按照某种结构组成的,因此是可以分解的,并且它的成分可以是非结构,也可以是结构的。

7、抽象数据类型:一个数据模型以及定义在该模型上的一组操作。
抽象数据类型的定义仅取决于它的逻辑特性,而与其在计算机中的如何表示和实现无关。

抽象数据类型和数据类型实际上是一个概念。“抽象”的意义在于数据类型的数学抽象特性。

按值的特性,分为以下三种3种类型:
(a)原子类型:变量的值是不可分解的。
(b)固定聚合类型:其值由确定数目的成分按某种结构组成。
(c)可变聚合类型:构成“值”的成分的数目不确定。
明显(b)(c)属于结构类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值