数据结构
Aligorithm+Data Structures=Programs
数据结构讨论的范畴
程序性设计:为计算机处理问题编制一组指令集。
算法:处理问题的策略
数据结构:问题怎么表示(数学模型)。
根据严蔚敏老师在课程中所说,数据结构是描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。
基本概念
一、数据与数据结构
数据:计算机存储的所有符号。
数据元素:数据中的单个个体。
数据项:数据结构中讨论的最小单位。数据元素是数据项的集合。
数据结构:带 结构 的数据元素的集合、
结构:123···012可以用三个4位十进制表示。
例:123456789012–>a1(1234),a2(5678),a3(9012)
在a1,a2,a3之间存在==“次序”==的关系,顺序不能颠倒。
二维数据,行列的次序关系
a1 a2 a3 a4
a5 a6 a7 a8
行:(<a1,a2>,<a3,a4>,<a5,a6>,<a7,a8>)
列:(<a1,a5>,<a2,a6>,<a3,a7>,<a4,a8>)
数据结构调换后,值是不同的。
数据的逻辑结构:
线性结构,
树形结构,
图形结构,
集合结构,
数据的存储结构:
逻辑结构在存储器的映像。
数据元素的映像方法:
关系的映像方法
二、数据类型
在高级程序语言的编写的程序中,必须对程序中出现的每个变量,常量或表达式,明确说明它们所属的数据类型。
数据类型是一个值的集合和定义再次结合上的一组操作的总成。
三、抽象数据类型ADT(Abstract Data Type)
是指在一个数学模型以及定义在此数学模型上的一组操作。
两个特征:
数据抽象,用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能一级它和外部用户的接口(即外界使用它的方法。)