一、数据结构讨论的范畴
电子计算机的主要用途:
早期:
主要用于数值计算。
后来:
处理逐渐扩大到非数值计算领域(能处理多种复杂的具有一定结构关系的数据)。
什么是程序、软件?
N.沃思(Niklaus Wirth)教授提出:
程序=算法+数据结构
程序设计:为计算机处理问题编制一组指令集
:处理问题的策略
数据结构:问题的数学模型
软件=程序+文档(软件工程的观点)
数值计算的程序设计问题:
鸡兔同笼问题
非数值计算的程序设计问题:
对于各种程序设计问题,抽取它的具体物理含义,就可以得到几类数学模型:
- 对于数值计算问题,例如:线性代数方程、非线性代数方程、常微分方程等,它们的数值解问题也就是说计算机求解的问题就是计算数学所要研究的问题。
- 对于非数值计算问题,它们的数学模型的表示和求解的方法就是数据结构研究的问题。
数据结构描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。
数据结构课程的形成和发展:
形成阶段:
60年代初期,“数据结构”有关的内容散见于操作系统、编译原理和表处理语言等课程。1968年,“数据结构”被列入美国一些大学计算机科学系的教学计划。
发展阶段:
数据结构的概念不断扩充,包括了网络、集合代数论、关系等“离散数学结构”的内容。
70年代后期,我国高校陆续开设该课程。
《数据结构课程》所处的地位:
二、基本概念
1、数据与数据结构:
数据(Data):指所有能被输入到计算机中并被计算机程序处理的符号的集合,是计算机操作的对象的总称,是计算机处理的信息的某种特定的符号表示形式。
数据元素(Data Element):数据中的一个“个体”,是数据结构中讨论的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
例如,整数“5”,字符“N”等都是数据元素。
----是不可分割的“原子”
数据项:例如描述一个学生的数据元素由多个款项构成,其中每个款项称为一个“数据项”,是数据结构中讨论的最小单位。
数据对象:是性质相同的数据元素的集合,是数据的一个子集。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。这些数据元素不是孤立存在的,而是有着某种关系,这种关系称为