基础概念
一.数据
基本概念
数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
二.数据元素
基本概念
数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。 数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。
三.数据项和数据对象
基本概念
数据项是一个数据元素可以由若干个数据项组成,是数据的不可分割的最小单位。 数据对象是性质相同的数据元素的集合,是数据的子集。
数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构
简要介绍
数据的逻辑结构是对数据之间关系的描述,它与数据的存储结构无关,同一种逻辑结构可以有多种存储结构。数据的逻辑结构主要有两大类:线性结构和非线性结构。线性结构是一个数据元素的有序(次序)集合,而非线性结构则不是这样的集合。
数据的存储结构是指数据的逻辑结构在计算机中的存储方式,也称为物理结构。一种数据结构的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序存储、链式存储、索引存储和散列存储等。
数据的运算是指对数据实施的操作,数据运算最终需要在对立的存储结构上用算法实现,所以数据运算分为运算定义和运算实现两个层面,数据上的运算可以分为三大类:算术运算、移位运算和逻辑运算。
抽象数据类型
基础定义在用一个数学模型下定义在该数学模型下的一组操作,其中包含:
1.由用户定义的,从问题出发抽象出的数据模型操作(即逻辑结构)
2.还包括定义在数据模型上的一组抽象运算(相关操作)
3.不考虑计算机内的具体内存结构与运算的具体实现算法
形式定义包括(D,S,P)三元组来表示,D是数据对象,S是D上的关系集,P是对D的基本操作集。
具体抽象数据类型的格式如下(伪代码):
ADT 抽象数据类型名{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
} ADT 抽象数据类型名
其中基本操作包含许多对数据操作的算法这边推荐C语言基础薄弱的同学深入学习这方面算法以巩固基础。
用C语言来实现抽象数据类型的定义
typedef strict{
ElemDate *data;
int length;
}
其中ElemData为需要定义的数据类型(数据类型为性质相同的值的集合),即数据类型=值的集合+值集合上的一组操作。