第一课
1,概念:
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科;(数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据);
2,数据结构分类:
数据结构分为逻辑结构和物理结构;
3,逻辑结构:
3.1定义:
逻辑结构是从具体问题中,抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间的相互关系分类;
3.2分类:
3.2.1集合结构:
集合结构中数据元素除了属于同一集合外,它们之间没有其他关系;
3.2.2线性结构:
线性结构中的数据元素之间存在一对一的关系;
3.2.3树形结构
树形结构中的数据元素之间存在多对一的层次关系;
3.2.4图形结构
图形结构的数据元素是多对多的关系;
示意图:
4,物理结构
4.1定义:
逻辑结构在计算机中真正的表示方式(又称映像)称为物理结构,也可以叫存储结构,常见的物理结构有顺序存储结构、链式存储结构;
4.2分类:
4.2.1顺序存储结构
把数据元素放到地址连续的内存单元里面,其数据间的逻辑关系和物理关系是一致的,比如我们常用的数组就是顺序存储结构;
注意:顺序结构存在一定的弊端,无法解决变化的情况,需要链式存储结构;
4.2.2链式存储结构
是把数据元素存放在任意的存储单元里面,这组存储单元可以是连续的,也可以是不连续的。链式存储中引进了一个指针存放数据元素的地址,这样通过地址就可以找到相关联数据元素的位置;
5,数据结构术语
5.1抽象数据类型
5.1.1定义
抽象数据类型是指一个数学模型以及定义在该模型上的一组操作,抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即无论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用;
5.1.2实质
抽象数据类型和数据类型实质上是一个概念、抽象的意义在于数据类型的数学抽象特性;
5.1.3表示
数据结构的表示(存储结构),用类型定义(typedef)描述、数据元素类型约定为Data;