1.1 数据结构——基本概念和术语

1.1.1 数据

        是能输入到计算机且能被计算机处理的各种符号的集合,它包括数值型数据(如整数、实数等)、非数值型数据(如文字、图像、声音等)。

        是信息的载体;

        是对客观事物符号化的表示;

         能够被计算机识别、存储和加工。

1.1.2 数据元素

        是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理(也成为元素、记录)。

         一个数据元素可由若干个数据项构成。

   

1.1.3、数据项

         构成数据元素不可分割的最小单位

        数据、数据元素、数据项三者之间的关系:数据 > 数据元素 > 数据项

        age: 学生表 > 个人记录 > 学号/姓名/性别/年龄 

1.1.4 数据对象

        是性质相同的数据元素的集合,是数据的子集

1.1.5 数据结构

 数据元素不是孤立的,它们之间存在着某种关系,数据元素之间的关系称为结构。

数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合。

数据结构还包括三个方面的内容:

(1)数据元素之间的逻辑关系,成为逻辑结构。

(2)数据元素及其关系在计算机内存中的表示(又称为映像)成为数据的物理结构或数据的          存储结构。

(3)数据的运算与实现,即对数据元素可以施加的操作以及这些操作在相应的存储结构上的         实现。

 数据结构的两个层次:

(1)逻辑结构:

        描述数据元素之间的逻辑关系;

        与数据的存储无关,独立于计算机;

        是从具体问题抽象出来的数学模型。

(2)物理结构:

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

        是数据结构在计算机中的表示。

1.1.6 逻辑结构

        逻辑结构:是指数据对象中数据元素之间的相互关系。

1.1.7 逻辑结构的种类

逻辑结构的划分方法一:

        1、线性结构:有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。

        age:线性表、栈、队列、串。

        2、非线性结构:一个结点可能有多个直接前趋和直接后继。

        age:树、图。

逻辑结构的划分方法二:

1、集合结构:集合结构中的数据元素除了同属于一个集合外,他们之间没有其它关系。

2、线性结构:有且仅有一个开始和一个终端结点,并且所有结点都最多只有一个直接前驱和一个直接后继。线性结构中的数据元素之间是一对一的关系。

3、树形结构:树形结构中的数据元素之间存在一对多的关系。

4、图形结构:图形结构的数据元素是多对多的关系。

        将每个数据元素看作一个结点,用圆圈表示;

        元素之江的逻辑关系用结点之间的连线表示,如果它们的关系是有方向的,要用带箭头的连线表示。

1.1.8 物理结构

        物理结构:是指数据的逻辑结构在计算机中的存储形式;数据元素的存储结构有:顺序存储结构、链式存储结构、索引存储结构、散列存储结构。

1.1.9 四种基本存储结构

1、顺序存储结构

        用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系有元素的存储位置来表示。

2、链式存储结构

        用任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示。

3、索引存储结构

        在存储结点信息的同时,还建立附加的索引表。

4、散列存储结构

        根据结点的关键字直接计算出该结点的存储地址。

 1.1.10 数据类型

数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。

数据类型可以分为两类:

原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。

结构类型:由若干类型组合而成,是可以再进行分解。比如:整型数组是由若干整型数据组成的。

抽象:是指抽取出事物具有的普遍性的本质。

1.1.11 抽象数据类型

抽象数据类型(Abstract Data Type,ADT):是指一个数学模型及定义在该模型上的一组操作。

抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。

抽象数据类型的格式:

ADT 抽象数据类型名
{
Data
    数据对象的定义
    数据元素之间逻辑关系的定义
Operation
    操作 1
        初始条件
        操作结果描述
    操作 2
        ...
    操作 n
        ...
}ADT 抽象数据类型名

例如圆的抽象数据类型:

ADT Circle{
    数据对象: D = {r, x, y | r, x, y 均为实数}
    数据关系: R = {<r, x, y> | r是半径,<x,y>是圆心的坐标}
    基本操作:
        Circle(&C, r, x, y)
            操作结果:构造一个圆
        double Area(C)
            初始条件:圆已存在
            操作结果:计算圆的面积
        double Circumference(C)
            初始条件:圆已存在
            操作结果:计算圆的周长
        ...
}ADT Circle

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值