ACM程序设计竞赛基础教程-(第2版)

本书特色

[

本书以循序渐进的方式对ACM程序设计竞赛中所涉及的基本题型和知识点进行了综合的介绍。全书共分10章,包括基础知识讲解、典型题目分析和算法设计,每道例题均给出了完整的源程序作为参考。内容涵盖了基础算法、数据结构、字符串、搜索、图论、动态规划、组合数学和初等数论等。
本书内容全面,针对性强,言简意赅,讲解透彻,通俗易懂,图例丰富,所有源代码均可进行评测。本书作为ACM程序设计竞赛的培训教程,不仅为大学生提供了竞赛入门的指导,而且对参赛学生拓展解题思路和提高训练水平也有很大的帮助。本书也可供喜爱程序设计的学生以及从事算法设计的技术人员学习参考。

]

内容简介

[

本书对参与ACM-ICPC竞赛训练、算法思维培养及程序设计实践,起到了有益的指导作用。近年来,随着ACM-ICPC赛事在中国的不断发展,国内高校的参与度和竞赛成绩不断攀升。ACM-ICPC竞赛训练能够综合、全面、系统的培养学生的算法思维和设计能力。通过赛事训练,能够将计算机语言类课程、数据结构、算法设计与分析、离散数学、组合数学、数论等众多专业课程进行很好的融合,对学生的专业培养和教育大有益处。 本书以循序渐进的方式对ACM程序设计竞赛中所涉及的基本题型和知识点进行了综合的介绍。内容包括基础知识讲解、典型题目分析和算法设计,每道例题均给出完整的源程序作为参考。内容涵盖了基础算法、数据结构、字符串、搜索、图论、动态规划、组合数学和初等数论等。 本书提供配套网站(http://acm.hrbeu.edu.cn),读者可从中下载所有书中题目的源代码,并在HEU Online Judge(http://acm.hrbeu.edu.cn)上开设包括本书中出现的所有题目的评测专区,供读者提交、评测自己的程序以检验解题结果。同时,还开辟专门的论坛以方便读者之间沟通、交流和讨论。 本次修订始终本着“实用、管用、够用”的原则,在尽量保持“原版特色、组织结构和内容体系”不变的前提下,对例题做了大量的筛选工作,同时对解题思路等内容进行了精心的设计和编写,既有利于启发,又留有余地,便于推动学生的思维培养。

]

作者简介

[

作者简介:
俞经善,哈尔滨工程大学教授,讲授数据结构、操作系统、算法设计与分析、计算机网络、程序设计基础等课程。从事ACM-ICPC竞赛活动十余年,具有丰富的竞赛培训经验,在各级ACM-ICPC赛事中取得好的成绩,两次率队进入ACM-ICPC World Finals。鞠成东,哈尔滨工程大学副教授。讲授算法设计与分析、程序语言设计基础、信息安全和具体数学等课程。具有丰富的软件开发和工程实践经验,多年指导学生程序设计和工程实践及ACM-ICPC竞赛培训。参与编写本书的人员为哈尔滨工程大学ACM/ICPC代表队领队和指导教师,以及ACM/ICPC代表队队员,在编写过程中参考了大量的文献,结合多年的参赛经验,对本书的内容进行了撰写,并对书中例题源程序代码进行评测。

]

目录

目录第1章基础算法11.1分治算法11.2递归算法81.3枚举算法141.4贪心算法20第2章排序、查找算法292.1基本排序算法292.1.1插入排序292.1.2冒泡排序292.1.3快速排序302.1.4其他排序302.2基本查找算法312.2.1顺序查找312.2.2折半查找31目录
第1章基础算法1
1.1分治算法1
1.2递归算法8
1.3枚举算法14
1.4贪心算法20第2章排序、查找算法29
2.1基本排序算法29
2.1.1插入排序29
2.1.2冒泡排序29
2.1.3快速排序30
2.1.4其他排序30
2.2基本查找算法31
2.2.1顺序查找31
2.2.2折半查找31
2.3实例分析32
2.4小结57第3章数据结构基础58
3.1常用数据结构简介58
3.1.1线段树简介58
3.1.2并查集简介58
3.1.3树状数组简介58
3.2实例分析59第4章字符串80
4.1字符串匹配80
4.1.1朴素的字符串匹配算法80
4.1.2KMP算法81
4.1.3其他匹配算法81
4.2实例分析81
4.3小结97第5章搜索算法98
5.1基本搜索算法98
5.1.1递归与迭代98
5.1.2深度优先搜索与广度优先搜索98
5.1.3回溯98
5.2搜索算法的一些优化99
5.2.1剪枝函数99
5.2.2双向广度搜索99
5.3实例分析99
5.4小结121第6章图论算法122
6.1*短路径122
6.1.1Dijkstra算法122
6.1.2Floyd算法123
6.1.3Bellman�睩ord算法123
6.2*小生成树124
6.2.1Kruskal算法125
6.2.2Prim算法126
6.3*大匹配——匈牙利算法127
6.4*优权匹配问题128
6.4.1理论基础128
6.4.2基本思想129
6.4.3样例代码129
6.5割点、割边以及连通分量131
6.5.1理论基础131
6.5.2求割点132
6.5.3求强连通分量133
6.6网络流135
6.6.1理论基础135
6.6.2*大流问题135
6.6.3*小费用*大流问题137
6.7实例分析138
6.8小结166第7章动态规划算法167
7.1基本思想169
7.2基本概念169
7.3基本原理170
7.3.1*优化原理170
7.3.2无后效性170
7.4基本步骤170
7.5经典例子171
7.6实例分析175
7.7小结200第8章计算几何基础201
8.1矢量201
8.1.1矢量的概念201
8.1.2矢量加减法201
8.1.3矢量叉积201
8.1.4矢量叉积的应用201
8.2包含关系203
8.2.1判断图形是否包含在矩形中203
8.2.2判断图形是否包含在多边形中203
8.2.3判断图形是否包含在圆中 206
8.3凸包206
8.3.1凸包的概念206
8.3.2凸包的求法206
8.4实例分析208第9章数论233
9.1基本数学算法233
9.1.1素数筛选233
9.1.2*大公约数233
9.1.3快速乘方234
9.2实例分析234附录A综合训练题264
A.1Lucky Bird264
A.2Josephus’Problem265
A.3Counter Strike267
A.4Gauss Elimination270
A.5The Math Problem271
A.6Mobile Phones272
A.7Japan275
A.8骨灰级玩家考证篇277
A.9括号匹配280
A.10食物链282信息

封面

ACM程序设计竞赛基础教程-(第2版)

书名:ACM程序设计竞赛基础教程-(第2版)

作者:俞经善

页数:285

定价:¥39.0

出版社:清华大学出版社

出版日期:2016-11-01

ISBN:9787302446071

PDF电子书大小:41MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注