从算法到程序(第2版)
课件处为本书PPT教案及源程序

作者:徐子珊

定价:69.5元

印次:2-4

ISBN:9787302400769

出版日期:2015.06.01

印刷日期:2019.01.07

图书责编:杨帆

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

本书第1章讨论算法设计、分析的基本概念。第2章讨论算法设计中最常用的几个数据结构,包括链表、栈、队列、二叉搜索树、散列表等。第3章讨论了算法设计的两个基本策略:渐增策略与分支策略。第1~3章的内容,为读者阅读本书以后的内容奠定了基础。第4章讨论几个代数计算的基本问题及其算法,包括矩阵运算、解线性方程组、多项式运算等。第5章讨论几个关于计算几何的基本问题及其算法,包括线段的相交判断、平面点集的凸包计算、最邻近点对问题等。第6章讨论了关于整数运算的基本问题,包括大整数的表示与运算、最大公约数计算、模运算、素数判定及整数因数分解等。第4~6章的内容为读者深入学习解决各种复杂问题奠定了解决数学计算问题的基础。第7~9章分别用回溯策略、动态规划策略及贪婪策略研究、解决计算机应用面临的最普遍、最典型的组合优化问题。第10章讨论图的搜索算法及其应用,包括深度优先搜索、拓扑排序、有向图的强连通分支计算、关节点计算、广度优先搜索、网络最大流及二部图的最大匹配等问题。第11章讨论了几个文本搜索的有趣算法,包括著名的KMP模式匹配算法、线性时间计算字符串中最长回文子串的Manacher算法、用动态规划策略寻求字符串中指定模式的最佳近似匹配的算法。对所有的的经典算法及数据结构,书中给出C语言的实现函数,形成一个通用的函数库,并详尽地加以解析。伴随各种算法的设计、分析及程序实现,书中给出了丰富多彩的应用问题及其解决方案的讨论,并给出了完整的程序代码。所有程序代码都经过反复调试,第12章介绍这些代码的使用方法。所有代码都以网络资源的方式提供给读者,访问下载地址为www.tup.com.cn。 本书无论是对初学算法及程序设计入门的大学生读者还是对已经在职场打拼多年的程序员并有提高自身理论修养及技术水平愿望的读者都有开卷有益的意义。

徐子珊 男 1954年生。81年毕业于西南师范学院数学系。任教于重庆工商大学计算机学院,副教授。长期担任离散数学、程序设计、数据结构、算法设计分析课程教学。担任重庆工商大学ACM竞赛队总教练。教学经验丰富,有较强的文字功底。2010年6月由人民邮电出版社出版《算法设计、分析与实现》一书,该书销量比价好,版权被引进到台湾地区。

本书第1版已经面世近2年了。承蒙读者厚爱及清华大学出版社的大力支持,遂有了今天第2版的问世。 根据广大读者的意见反馈,在第1版的基础上,除对原有内容中所含明显错漏之处进行修改以外,第2版增加了关于文本搜索的一些有趣的算法,包括著名的KMP模式匹配算法、线性时间内计算给定字符串中最长回文子串的Manacher算法和文本串中模式最佳近似匹配的动态规划算法。所有这些算法都涵盖于第11章中。考虑到原来的第11章介绍了验证运行本书各章应用问题程序时需加载文件等细节,这对喜欢动手的读者来说是很有帮助的,所以保留了原来的内容并将第11章讨论的3个应用问题程序的运行加载信息也补充了进去,作为第12章。所有这些添加、改动都是为了对读者阅读本书有所帮助,并且能通过对本书的阅读能让更多的年轻朋友在信息时代具有良好的计算思维能力和操控计算机的能力。 网络已经成为人们获取信息、数据的最方便快捷的工具了。本书第1版中源代码是以传统的光盘形式提供给读者,本意是方便读者随手可用。第2版将以网络资源形式提供给读者,具体的访问地址是www.tup.com.cn。 为使作者和读者之间更方便、直接地交流沟通,作者的QQ号及空间地址公布如下。 QQ号:513410359。 空间地址:user.qzone.qq.com/513410359?ptlang=2052。 再次感谢清华大学出版社的白立军先生,没有他的支持和帮助,无论是本书的第1版还是今天的第2版都不会如此顺利地送到读者的面前。 徐子珊 2015年3月

目录
荐语
查看详情 查看详情
第1章计算问题1

1.1计算问题及其算法1

1.1.1计算问题及其描述1

1.1.2算法及其描述2

1.1.3伪代码的使用约定3

1.1.4算法分析4

1.1.5算法运行时间的渐近表示5

1.2数据结构6

1.2.1什么是数据结构6

1.2.2数据结构对算法效率的影响7

1.2.3字典与字典操作8

1.3程序设计10

1.3.1算法与程序10

1.3.2数据类型的抽象与代码通用性11

1.4数据的输入输出13

1.4.1应用问题13

1.4.2标准输入输出15

1.4.3文件输入输出20

1.5计数问题22

1.5.1简单模拟23

1.5.2加法原理和乘法原理25

1.5.3计算四边形个数31第2章数据结构基础37

2.1线性表38

2.1.1线性表的链表表示38

2.1.2对链表的操作39

2.1.3链表的程序实现42

2.1.4链表应用47

2.2栈53

2.2.1栈的概念及其链表实现53

2.2.2栈的程序实现54

2.2.3栈的应用56

2.3队列62

2.3.1队列的概念及其链表实现62

2.3.2队列的程序实现63

2.3.3队列的应用64

2.4二叉搜索树68

2.4.1二叉树及其在计算机中的表示68

2.4.2二叉搜索树76

2.4.3二叉搜索树的查询操作76

2.4.4二叉搜索树中元素的增删78

2.4.5红黑树及其性质80

2.4.6红黑树的操作83

2.4.7红黑树的程序实现92

2.4.8二叉搜索树的应用102

2.5散列表102

2.5.1直接寻址表与散列表... 查看详情

查看详情