数据结构与算法(C语言版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前 言

数据结构是计算机及相关专业的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目,而且正逐渐发展成为众多理工科专业的热门选修课。算法被公认为是计算机科学的基石,利用计算机求解问题的最重要一步是将人的想法描述成算法。如何使学生真正掌握构成程序的两个重要的组成部分——数据结构和算法,提高问题求解能力是一个值得探索的教研课题。

本书将基本的算法设计技术和数据结构很好地结合起来,第1章介绍数据结构和算法在程序设计中的作用,以及数据结构和算法的基本概念;第2章以初等数论作为应用实例介绍基本的算法设计技术,使学生初步理解常用的蛮力法、分治法、减治法、贪心法、动态规划法等算法设计技术的设计思想;第3~7章依次介绍线性表、栈和队列、字符串和多维数组、树和二叉树、图等数据结构,并从算法设计技术的角度讨论数据结构的基本操作;第8章和第9章是常用数据处理技术,包括查找和排序,并从算法设计技术的角度阐述查找和排序的算法思想和设计过程。这样,一方面使学生能够学以致用,将算法设计技术应用到数据结构的实现上,另一方面能够更深刻地理解数据结构的实现方法。此外,本书还具有以下特色:

1.紧扣《计算机学科硕士研究生入学考试专业基础综合考试大纲》,抓牢核心概念,提炼基础性知识,合理规划教学内容。

2.定位明确,突出工程实践。减少形式化描述,注重算法设计与程序实现,每章通过两个应用实例展示数据结构和算法设计技术的实践过程。

3.遵循认知规律,理清教学主线。根据学生的认知规律,按照从已知到未知的思维进程逐步推进教学内容,知识单元的拓扑结构安排合理,主线清晰。

4.以知识为载体,注重能力培养。能够注意引导思维,通过讲思路讲过程讲方法,展现问题的求解过程。以算法为例,按照“提出问题→分析问题→解决问题”的过程,采用“图示理解→伪代码描述算法→C语言描述算法”的三级模式,培养计算思维能力。

5.分析难点,针对处理。针对数据结构内容抽象的特点,全书设计了大量插图,将抽象的内容进行了具体化处理,降低了理解问题的复杂性。

6.开扩视野,激发兴趣。本书的脚注中给出了与数据结构相关的人物小传、各种数据结构的起源,以及某些知识点的相关处理,激发学习兴趣,对学生的思维方式产生有益的影响。

本书由胡明、王红梅编著。参加本书编写的还有王涛、党源源、谷钰、刘冰等老师,2008级胡洁珺同学校对了书稿。

本书为吉林省精品课程“数据结构”的配套教材,课程网站http://jsj.ccut.edu.cn/sjjg

本书配有电子课件,可登录华信教育资源网(www.hxedu.com.cn)免费下载。

由于作者的知识和写作水平有限,书稿虽几经修改,仍难免有缺点和错误,欢迎专家和读者批评指正。作者的电子邮箱是:

huming@mail.ccut.edu.cn

wanghm@mail.ccut.edu.cn

作 者

2011年9月于长春