1.数据
数据是信息的载体,是描述客观事物属性的数、字符以及所有能够输入到计算机中并被计算机程序识别并处理的符号的集合。
2. 数据元素
数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可以由若干个数据项组成。数据项是构成数据元素的不可分割的最小单位。
eg:学生记录就是一个数据元素,它由学号、性别、姓名等数据项组成。
3.数据类型
数据类型是一个值的集合和定义在此集合上一组操作的总称。
- 原子类型:其值不可再分的数据类型。
- 结构类型:其值可以再分解为若干成分(分量)的数据类型。
- 抽象数据类型:抽象数据组织与之相关的操作。
抽象数据类型(ADT)
指一个数学模型以及定义在该模型上的一组操作,抽象数据类型的定义仅取决于它的一组逻辑性。而与其在计算机内部如何表示和实现无关。通常用 数据对象、数据关系、基本操作集 这样的三元组来表示抽象数据类型。
4.数据结构
在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面。一个算法的设计取决于所选的逻辑结构,而算法的实现依赖于所采用的的存储结构。
逻辑结构
是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机的。
数据的逻辑结构分为线性结构和非线性结构。
集合:结构中的数据元素除了“同属一个集合”外无其他关系。类似于数学上的集合
线性结构:结构中的数据元素之间只存在一对一的关系。eg:排队
树形结构:结构中的数据元素之间存在一对多的关系。eg:族谱
图形结构或网状结构:结构中的数据元素存在多对多的关系。eg:地图
物理结构
物理结构也称为存储结构吗,指数据结构在计算机上的表示。数据的存储结构是逻辑结构用计算机语言实现,依赖于计算机语言。数据结构包括数据元素的表示和关系的表示。
数据的存储结构主要有:顺序存储、链式存储、索引存储和散列存储。
顺序存储:存储的物理位置相邻
链式存储:存储的物理位置未必相邻,通过记录相邻元素的物理位置来找到相邻元素
索引存储:类似于目录
散列存储:通过关键字直接计算出元素的物理地址
数据的运算
包括运算的定义和实现。
eg:通过一个运算计算人的颜值。
颜值 = 五官的漂亮程度之和 (运算的定义 逻辑结构)
计算机读取五官信息,相加得到颜值。(运算的实现 物理结构)
最后得出我和胡歌的颜值相等。