早期的计算机主要用于数值计算,现在,计算机主要用于非数值计算,包括处理字符、表格和图像等具有一定结构的数据。这些数据内容存在着某种联系,只有分清楚数据的内在联系,合理地组织数据,才能对它们进行有效的处理,设计出高效的算法。如何合理地组织数据、高效地处理数据,这就是“数据结构”主要研究的问题。本章简要介绍有关数据结构的基本概念和算法分析方法。
计算机主要用于数值计算时,一般要经过如下几个步骤:首先从具体问题抽象出数学模型。然后设计一个解此数学模型的算法,最后编写程序,进行测试、调试,直到解决问题。在此过程中寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间的关系,然后用数学语言加以描述,即建立相应的数学方程。例如,用计算机进行全球天气预报时,就需要求解一组球面坐标系下的二阶椭圆偏微分方程;预测人口增长情况的数学模型为常微分方程。求解这些数学方程的算法是计算数学研究的范畴,如高斯消元法、差分法、有限元法等算法。数据结构主要研究非数值计算问题,非数值计算问题无法用数学方程建立数学模型,下面通过三个实例加以说明。
Ⅰ学生学籍管理系统。
高等院校教务处使用计算机对全校的学生情况作统一管理。学生的基本信息,包括学生的学号、姓名、性别、籍贯、专业等,如表所示。每个学