前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基本概念:数据/数据类型/数据对象/数据结构/抽象数据类型

基本概念:数据/数据类型/数据对象/数据结构/抽象数据类型

原创
作者头像
鲁郭大侠
修改2020-03-03 11:26:31
5.6K0
修改2020-03-03 11:26:31
举报
文章被收录于专栏:高级程序设计高级程序设计

1. 数据[Data]

百度百科:

数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。数据可以用于科学研究、设计、查证等。

大学数据结构教材:

数据是信息的载体,是描述客观事物的数、字符、以及所有能输入到计算机中,被计算机程序识别和处理的符号的集合。

数据分为数值性数据和非数值性数据两种。

考生信息系统

姓名

学号

性别

年龄

健康情况

王小林

790631

18

健康

陈红

790632

20

一般

刘建平

790633

21

健康

张立立

790634

17

神经衰弱

……..

……..

…….

…….

…….

数据元素[DataElement]

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

在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。

如考生信息系统中考生信息表中的一个记录。

数据项[DataItem]

组成数据元素的有特定意义的最小单位。在有些场合下,数据项又称为字段或域。一个数据元素可由若干个数据项组成。

例如考生系统中考生信息表的每一个数据元素就是一个考生记录,包括考生的考号、姓名、性别、成绩等数据项。

数据对象[DataObject]

具有相同性质的数据成员(数据元素)的集合,是数据的一个子集。

  • 整数数据对象N={0,1,2,…}
  • 学生数据对象

“考生信息系统”是一个学生基本情况数据表。

其中每一个单元格中的就是一个数据项,每一行为一个学生记录,为一个数据元素。每一列中所有可能的元素集合为一个数据对象,当然表格中的每一列数值集合为其相对应数据对象的子集。

2. 数据类型[DataType]

在一种程序设计语言中,变量所具有的数据种类。

数据类型是一个值的集合和定义在这个值上的一组操作的总称。

按照值的不同,高级程序设计语言中数据类型可分为两类:一类是非结构的原子类型,另一类是结构类型。

例1、在FORTRAN语言中,变量的数据类型有整型、实型、和复数型。

例2、在C语言中数据类型:基本类型和构造类型

  • 基本类型:整型、浮点型、字符型、指针、空类型
  • 构造类型:数组、结构、联合、枚举型、自定义

3. 数据结构[DataStructure]

是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素之间总是存在联系的。把某一数据对象及该数据对象中所有数据成员之间的关系组成的实体叫做数据结构。

  • 研究数据结构,是指研究数据的逻辑结构和物理结构
  • 数据的逻辑结构:数据结构中元素之间的关系是指数据元素之间的逻辑关系,也即逻辑结构
  • 数据的物理结构:数据元素在计算机存储器中是如何存储的

数据结构的形式定义为:

数据结构是一个二元组:

Data-Structure=(D,S)

其中:D是数据元素的有限集,S是D上关系的有限集。

例复数的数据结构定义如下:

Complex=(C,R)

其中:C是含两个实数的集合﹛C1,C2﹜,分别表示复数的实部和虚部。R={P},P是定义在集合上的一种关系{〈C1,C2〉}。

数据的逻辑结构

4. 抽象数据类型[AbstractDataType]

一个数学模型以及定义在该模型上的一组操作。

抽象数据类型实际上就是对数据结构的定义,因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。

抽象数据类型只是在数据的逻辑结构上讨论问题,与数据的存储结构无关。

抽象数据类型分类

抽象数据类型按其值的不同特性,分为三种类型:

  • 原子类型:变量的值是不可分解的。
  • 固定聚合类型:变量的值由确定数目的成分按某种结构组成。如复数是由两个实数依确定的次序关系构成。
  • 可变聚合类型:其值的成分数目不确定。如:可定义一个“有序整数序列”的抽象数据类型,其中序列的长度是可变的。

抽象数据类型的表示法

用三元组描述如下:(D,R,P)

ADT抽象数据类型名

{

数据对象:{数据对象定义}

数据关系:{数据关系定义}

基本操作:{基本操作定义}

}ADT抽象数据类型名

其中,数据对象和数据关系的定义用伪码描述,基本操作的定义格式为:

基本操作名(参数表)

初始条件:{初始条件描述}

操作结果:{操作结果描述}

抽象数据类型示例

ADTTriplet

{

数据对象:D={e1,e2,e3|e1,e2,e3∈Elemset}

数据关系:R1={〈e1,e2>,<e2,e3>〉

基本操作:

InitTriplet(&T,v1,v2,v3)

DestroyTriplet(&T)

Get(T,i,&e)

Put(&T,i,e)

IsAscending(T)

IsDescending(T)

Max(T,&e)

Min(T,&e)

};

其中:Elemset(定义了关系运算的某个集合)

数据的抽象数据类型主要有以下特征

  • 代码的使用与实现分离开来
  • 数据与操作数据的方法封装在结构中
  • 对于结构内部的不可访问的信息进行隐藏

5. 数据处理与理论

基于数据,我们有:

数据描述:数据类型、数据结构、抽象数据类型

数据管理:数据库、数据库管理系统、数据仓库

数据处理:数据分析、数据挖掘、大数据

处理方法:一般计算、统计方法、高等数学方法

l 数据分析:

数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。

数据分析的数学基础在20世纪早期就已确立,但直到计算机的出现才使得实际操作成为可能,并使得数据分析得以推广。数据分析是数学与计算机科学相结合的产物。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 数据[Data]
  • 2. 数据类型[DataType]
  • 3. 数据结构[DataStructure]
  • 4. 抽象数据类型[AbstractDataType]
  • 5. 数据处理与理论
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档