首页 > 图书中心 > 数据结构(C语言描述 第2版)

前言

数据是用来说明人类活动的事实观念或事物的一些文字、数字或符号。常用的数据类型分数值数据和非数值数据两大类。数值数据包括整数、定点数、浮点数等;非数值数据主要有逻辑数据、内码和交换码等。数据的级别由低向高依次为位、字节、字、数据项、数据字段、记录、文件、数据库等。

信息是指对某一特定的目的而言,具有意义的事实与知识,使源数据经系统的处理后成为决策或参考的依据。数据只是事实的记录,没有特定的目的;而信息则是针对某一问题来收集数据并进行处理,作为决策和参考的依据。通过数据处理,可将收集到的数据加以系统的处理,归纳出有价值的信息。常用的数据处理方式有编辑、排序、归并、分配、建档、更新、计算、链表、查找、查询等。

计算机科学是算法和算法变换的科学。数据结构主要是研究数据元素之间的关联方式,通常分为逻辑结构和物理结构两大类。同一逻辑结构可以对应不同的物理结构。程序存储是冯·诺依曼机的重要特征之一,构建计算机系统、利用计算机解决问题都是通过程序来实现。算法是求解问题的计算步骤的描述,算法是程序的核心和灵魂。算法的设计取决于数据的逻辑结构,而算法的实现依赖于指定的存储结构。在程序设计中,要从数据结构和算法两个方面考虑,才能得到高效而准确的结果。

在非数值计算中,处理对象已从简单数值发展到具有结构的数据,这就需要讨论如何有效地组织计算机的存储,并在此基础上有效地实现对象间的运算,数据结构就是研究与解决这些问题的重要基础。数据结构课程是人们在程序设计方面的经验总结,学会基本的程序设计,只能解决程序设计中的三成问题,而学会数据结构,却能解决程序设计中的八成问题。

数据结构课是计算机科学与技术专业的一门必修的、重要的核心基础课,是计算机程序设计的重要理论技术基础。通过数据结构课的学习,不仅可以使同学们掌握数据结构的基本内容、典型算法和使用方法,而且能够训练学生应用数据结构和算法进行具体应用问题的程序设计,进而提高程序设计能力。

本书介绍最常用的数据结构、各种数据结构的逻辑关系及其在计算机中的存储表示以及在数据结构上的运算等。主要内容包括算法、线性表、栈和队列、串、数组、树、图、查找、排序和文件等内容。

全书结构呈积木式,适于选择性使用,并注重实践应用,从实际出发介绍各种常用数据结构避免抽象的理论论述和复杂的公式推导,在典型的算法介绍中深入浅出、简洁明了。每章都设有小结和习题。通过这些习题的练习,不仅能加深对基本概念和定义的理解,而且通过上机,能够提高编程能力和程序调试能力。

由于作者水平有限,书中不足之处在所难免,敬请读者批评指正。

陈 明2010年12月21日于北京

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘