





定价:49.5元
印次:2-9
ISBN:9787302459897
出版日期:2017.05.01
印刷日期:2022.12.16
图书责编:龙启铭
图书分类:教材
本书是根据教育部《高等学校计算机科学与技术专业公共核心知识体系与课程》编写的数据结构主教材。全书共8章。第1章介绍数据结构的地位和主要知识点,数据结构和算法的基本概念和算法分析的简单方法,以及C语言编程的要点。第2~8章分别介绍了线性表、栈和队列及其应用、多维数组、特殊矩阵、稀疏矩阵、字符串和广义表、树与二叉树、图、查找、排序,并做了适当延伸。作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排教材内容,力求透彻、全面,对学生读书容易忽略的地方和隐藏在书中所讨论问题后面的东西都有适当的提示。 本书的编写得到清华大学2015年精品教材建设项目的资助。本书既可作为高等学校计算机科学与技术专业和软件工程专业本科生学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材,还可作为计算机或软件系统开发人员的参考资料。
(1)根据教育部颁发的《高等学校计算机科学与技术专业公共核心知识体系与课程》规范编写。(2)内容涵盖数据结构与算法的基本概念和算法分析的简单方法,以及C语言编程的要点。(3)作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排了教材内容,力求透彻、全面。对学生读书容易忽略的地方和隐藏在书中所讨论问题后面的东西,都有适当的提示。(4)是学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材。
第2版前言 本书第2版的初稿完成于2015年12月,作为另一本教材《数据结构精讲与习题详解》(第2版)的写作参照,相互融合,相互补充,首先完成了该书,再回过头来第二次修改本书,所以本书实际上是第2版的修订本。 自从1978年美籍华人冀中田第一次在中国讲授“数据结构”课开始,很多老师对课程的内容和讲授方法做了大量的研究,也可以说是在做中学,总结出许多好的经验,使得课程的教学比当时进步了很多。我本人在这门课程的教学中也积累了一些心得,非常希望与正在学习这门课程的同学们分享,这是我修改这本教材的初衷。 既然数据结构与算法相辅相成,密不可分,而算法就是解决问题的过程描述,那么,描述数据结构与算法的语言就应该是过程性的。早期用伪代码描述,实践证明不可持续,因为很多用伪代码描述的算法转换为使用某种编程语言编写的程序后,怎么也通不过。原因是很多人编程语言的实践能力太差,算法的实现细节太粗糙。所以我认为,使用某种过程性语言,如C、C++等,对于学习和实现数据结构与算法是合适的。 由于数据结构课程学时的限制(多数学校为48~64学时),作为本科生的教材,包含的知识容量应有一定限度。知识点太少,学生在未来的学习和工作中可联想的思考空间狭窄,使解决问题的能力受限;知识点太多,必然沦为百科全书式的阅读,基础不牢靠,同样使得解决问题的能力受限。通过教学实践证明,本书的第1版在内容上取材是恰当的,范围上取材的深度和广度也是恰当的,但联想不够,某些算法的实现上偏向使用伪代码描述,造成部分读者在学习上和实践上的困惑。本书第2版修改部分包括: (1)在结构上从第1版的10章改为8章,虽然章数压缩了,但...
第1章 绪论 1
1.1 数据结构的概念及分类 1
1.1.1 为什么要学习数据结构 1
1.1.2 与数据结构相关的基本术语 2
1.1.3 数据结构的分类 5
1.1.4 数据结构的存储结构 6
1.1.5 定义在数据结构上的操作 7
1.1.6 “好”数据结构 7
1.2 使用C语言描述数据结构 7
1.2.1 C语言的数据类型 8
1.2.2 算法的控制结构 9
1.2.3 算法的函数结构 10
1.2.4 动态存储分配 12
1.2.5 逻辑和关系运算的约定 12
1.2.6 输入与输出 13
1.3 算法和算法设计 13
1.3.1 算法的定义和特性 13
1.3.2 算法的设计步骤 14
1.3.3 算法设计的基本方法 15
1.4 算法分析与度量 18
1.4.1 算法的评价标准 18
1.4.2 算法的时间和空间复杂度度量 18
1.4.3 算法的渐近分析 21
小结 24
习题 24
第2章 线性表 27
2.1 线性表 27
2.1.1 线性表的定义和特点 27
2.1.2 线性表的主要操作 28
2.2 顺序表 29
2.2.1 顺序表的定义和特点 29
2.2.2 顺序表的结构定义 30
2.2.3 顺序表查找操作的实现 31
2.2.4 顺序表插入和删除操作的实现 32
2.2.5 顺序表的应用:集合运算 34
2.3 单链表 35
2.3.1 单链表的定义和特点 35
2.3.2 单链表的结构定义 ...
(2)内容涵盖数据结构与算法的基本概念和算法分析的简单方法,以及C语言编程的要点。
(3)作者在讨论每一个知识单元时,结合30多年教学的经验和考试辅导的体会,合理安排了教材内容,力求透彻、全面。对学生读书容易忽略的地方和隐藏在书中所讨论问题后面的东西,都有适当的提示。
(4)是学习数据结构与算法课程的教材,也可以作为计算机专业考研的辅导教材或其他计算机或软件考试的复习教材。