一、基本概念和术语
1、数据:描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合。
也就是说,成为数据的符号必须具备两个前提: a.可以输入到计算机中;b.能被计算机程序处理
数据不仅仅包括整型,实型等数值类型,还包括字符及声音、图像、视频(通过编码手段转换为字符数据)等非数值类型。
2、数据项:是数据不可分割的最小单位,若干个数据项组成一个数据元素。
3、数据元素:组成数据的有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。
比如说,在人类这个群体里,数据元素就是“人”。
4、数据对象:性质相同的数据元素的集合,是数据的子集。
数据对象可能是外部实体、事物、偶发事件或事件、角色、组织单位、地点或结构等。例如,一个人或一部车都可以被认为是数据对象。
5、数据结构:结构是指不同数据元素之间存在的特定关系,是相互之间存在一种或多种特定关系的数据元素的集合。
6、数据类型:一组性质相同的值的集合和定义在这个集合上一些操作的的总称。
抽象是指抽取出事物具有的普遍性的本质,我们可以对已有的数据类型进行抽象,就有了抽象数据类型。
二、逻辑结构与物理结构
按照视点的不同,我们把数据结构分为逻辑结构和物理结构
1、逻辑结构:数据元素之间的相互关系
a.集合结构:数据元素除了同属于一个集合之外,没有其他的关系,他们的关系是互相平等的
b.线性结构:数据元素之间是一对一的线性关系,他们保持在一个线性序列上,好比很多结点被串在一根线上,比如:线性表,栈,队列,双队列,一维数组,串
c.树形结构:数据元素之间存在一对多的层次关系,关系就像一个树状图,比如:树(二叉树)等
d.图形结构:数据元素是多对多关系
2、物理结构:数据的逻辑结构在计算机中的存储形式(又称存储结构)
a.顺序存储结构:把数据元素存放在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的
b.链式存储结构:把数据元素放在任意的存储单元里,可以是连续的,也可以不连续,他们的物理关系不能反映逻辑关系。需要指针去存放数据元素的地址