第1章 绪论
计算机是帮助人们对各种数据进行处理的机器。这里所说的数据指的是计算机所能处理的一切数值、字符、图形等计算机能够识别、存储和处理的信息。
在计算机发展的早期,计算机主要用于科学计算,处理的是数值数据。此时,数据的特点是数据元素之间关系简单,数据量小,形式较一致。因此,此时的程序设计工作者重于算法,而不注重对数据的组织、性质、关系的研究。
随着计算机工业的飞速发展及计算机应用的日益普及,计算机已越来越广泛地应用于各种非数值处理问题,其应用已逐步深入到事务管理、工业控制、通信、教育等领域。这些待处理的数据形式多样,量越来越大,关系越来越复杂。要想对这些数据进行有效的处理,就必须要了解数据的性质、组织方式及相互之间的关系。这样才能采用适当的方式进行存储,选用**的算法进行处理。这些正是数据结构所研究的内容,也就是说,数据结构是一门对计算机处理的数据进行表示、组织及操作进行研究的学科。
在计算机科学中,数据结构与算法是密不可分的,缺一不可。简单而论,算法指的是对计算机求解问题的全过程及具体步骤的描述。计算机程序正是按照算法所描述的步骤对某种结构的数据进行加工处理的。如果没有数据结构,计算机就缺少了处理的“原料”。而没有算法,计算机就缺少了求解问题的方法。因此,**的计算机科学家N.Wirth在论述关于算法与数据结构之间的关系时,就曾指出:“程序一数据结构+算法”。因此,本书在讲述数据的结构关系时,同时对施加于其上的操作及其实现也作出描述。也就是说,数据结构这门课程本身也包含着算法,即计算机在处理具有结构关系的数据时涉及的基本操作及其实现的方法。
……