1.2 数据结构中的基本概念

本文介绍了数据结构的基本概念,包括数据、数据元素、数据结构的定义。数据元素是数据的基本单位,可以是员工信息等。数据结构是带结构的数据元素集合,分为逻辑结构和存储结构,如线性结构和非线性结构。此外,文章还提及了数据类型和抽象数据类型的概念。
摘要由CSDN通过智能技术生成

1.2.1 数据结构的概念

一)了解什么是数据

    要判断一个事物是不是数据,它必须满足以下两个条件:
                    1.能被输入到计算机中。
                    2.能被计算机处理。
数据的概念是随着计算机的发展而发展的,一开始计算机只能输入和处理字符类型的数据(如:a,b,c,1,2,3),然而随着计算机的发展,计算机能输入和处理越来越多的其他类型的数据(如,图片,声音,视屏等)。

二)什么是数据元素

    数据元素(Data Element)是数据的基本单位,数据结构是数据项的集合,它由数据项组成。(数据项是数据结构中的最小单位)在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。数据元素是用一组属性描述定义、标识、表示和允许值的一个数据单元。
    举例:比如我们要存储一个公司员工的信息,那么每个员工的信息就是一个存储的基本单位。但是具体到一个人的具体信息又可以分为姓名,性别,年龄,职位等存储单位,而一个员工的姓名,性别等是不可再分割的。这里我们就可以把每个员工的信息看为数据元素,而每个员工的姓名,性别等个人具体信息看为数据项。
注意:数据项中有一种组合项,如生日是由年,月,日三者组合而成。

三)数据结构的定义

    数据结构是带结构的数据元素的集合。 (这里的结构指的是数据结构之间存在的一种运算关系。数据结构中讨论的数据元素都不是孤立的,而是相互之间存在着一定的关系)

    数据的结构有两种分类方法,分别是按数据的逻辑结构来分类和按数据的存储结构来分类,具体可一看下图:
数据结构的分类
    如果数据结构按逻辑结构分类,其中集合的概念和数学上集合的概念相同,具体的线性结构和非线性结构的内容我们将在后续的章节中讨论,不过我会在这里给出一个直观图如下:在这里插入图片描述
为了更好的理解我在这里简单的提一下线性结构的特征
    1.集合中必存在唯一的一个"第一个元素";
    2.集合中必存在唯一的一个"最后的元素";
    3.除最后元素之外,其它数据元素均有唯一的"后继";(例如上图中1的“后继”是2, 2的“后继”是3)
    4.除第一元素之外,其它数据元素均有唯一的"前驱"。(例如上图中9的“前驱”是8,7的“前驱”是6)

线性结构和非线性结构的区别
        数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。(如(a0,a1,a2,…,an),a0为第一个元素,an为最后一个元素,此集合即为一个线性结构的集合。)
        相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。

    上面只说明了数据结构的一个方面,强调的是数据结构之间的逻辑关系,下面将说明数据之间的存储结构:

数据的存储结构是指数据结构在存储器中的映象即怎样在计算机中表示数据的逻辑结构

数据结构在计算机中的印象主要有数据元素的映象,数据元素之间关系的映象。
数据元素的映象方法:用二进制位(bit)的位串表示数据元素。
关系集合的映象方法:(表示<x,y>的方法)

在这里我们主要说明一下数据的顺序存储结构和链式存储结构。
顺序映象:以储存位置的相邻表示后继关系。
    比如:y的存储位置和x的存储位置之间差一个常量C。而C是一个隐含值整个存储结构中只含有数据元素本身的信息x,y。
    特点:以数据元素在存储器之间,一个固定的相对位置的关系来表示数据元素之间的关系。但整个存储结构中只含数据元素本身的信息。例如,a,b有关系c,但只存a,b

链式映象:以附加信息(指针)来表示后继关系。 需要一个和X绑定在一起的附加信息(指针)来表示y的储存位置。
x的存储映象是一个节点,这个节点包含两个信息(数据元素x的映象)和(指向y的指针)。在整个结构中,x,y的存储位置没有固定的关系,利用附加信息(指针)来表示)在不同的编程环境中存储结构有不同的描述方法。

数据的形式结构可以由一个二元数组来表示:
Data_Structures=(D,S)
其中D是数据元素的有限集,S是D上关系的有限集。符合数据结构的定义(数据结构是带结构的数据元素的集合)。

1.2.2 数据类型

    数据类型是一个值的集合和定义在此集合上的一组操作的总称。一般数据分为基本类型(如:boolean,byte,short,int,long等)和引用类型(如:数组,结构体,共用体等)。

1.2.3 抽象数据类型

    抽象数据类型(Abstract Data Type 简称ADT)指一个数据结构和定义在数据结构上的操作。抽象数据类型需要通过固有数据类型(高级编程语言中以实现的数据类型)来实现。并且借用固有数据类型已经实现的操作来实现抽象数据类型的操作。

一)抽象数据类型的特征

抽象数据类型有两个特征:
1.数据抽象(用ADT描述程序处理的实体时,强调的是其本质的特征,其所能完成的功能以及它和外部用户的接口)
2.数据封装(将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部的细节)

二)抽象数据类型的描述方法:

抽象数据类型可以用一个三元数组来表示:(D,S,P)其中:
    D:数据对象
    S:D上的关系集(D+S就是一个数据结构)
    P:对D的基本操作集
数据结构和它的操作实质上是一个整体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值