1.1什么是数据结构
数据结构是问题的数学模型,而算法是处理问题的策略。
1.2基本概念
一、数据和数据结构
1.数据:所有能被输入到计算机里处理的符号集合。
2.数据元素:是数据结构中的基本单位。
3.数据项:是数据结构中的最小单位。例如:一个运动员为一个数据元素,这个元素包括了姓名,出生日期等数据项。
4.数据对象:性质相同的数据元素的集合。如一张学籍表,一个个学生是数据元素,但所有学生的集合是数据对象。
5.数据结构:数据结构是相互之间存在某种逻辑关系的数据元素的集合;包括数据的逻辑结构,数据的存储结构和数据的运算。
(1)数据的逻辑结构:从逻辑关系上描述数据,不依赖计算机。分为线性结构如线性表、堆栈、队列和非线性结构如树、图。
(2)数据的存储结构:逻辑结构在计算机中的实现。例如将十进制数或者英文字母转化为二进制数存储在计算机中。
(3)数据元素的映像:数据元素在计算机中用位串表示,称为元素。数据元素由若干数据项构成时,对应各个数据项的子位串称为数据域。
(4)关系的映像:顺序映像,以数据元素在存储器中的相对位置来表示逻辑关系。链式映像,以指针表示数据元素之间的逻辑关系。
二、数据类型
1.整型 int
2.浮点型 float
3.双精度型 double
4.字符型 char
5.逻辑型 bool
从硬件角度看,计算机硬件系统通过把它们转化为二进制数来处理,计算机能处理的数据类型只有位、字节、字。
在微机上,int是16位,即2个字节;在计算机上,int是32位。
三、抽象数据类型(ADT)
1.定义:是用户在数据类型基础上自定义的数据类型。注:必须要有数据元素集合的定义和允许的操作集合的定义。
2.特征:数据抽象:强调外界使用的方法及功能;数据封装:对外部用户隐藏内部实现的细节。
3.描述方法:{D,S,P}。D即数据对象;S是D上的关系集;P是对D的基本操作集。
4.定义格式:
ADT 抽象数据类型名
{
Data: //D
数据元素之间逻辑关系的定义;//S
操作1; //P
操作2;
}