ACM程序设计竞赛基础教程(第2版)
普通高等教育“十一五”国家级规划教材。凝练作者多年科研、课程建设和教学训练成果,总结实战经验。哈尔滨工程大学ACM/ICPC团队力作。

作者:俞经善、鞠成东

丛书名:计算机科学与技术专业实践系列教材

定价:39元

印次:2-3

ISBN:9787302446071

出版日期:2016.11.01

印刷日期:2019.07.24

图书责编:张瑞庆

图书分类:教材

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

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

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

序 从1970年开始,ACM/ICPC赛事就影响着计算机与信息专业的许多大学生,引导着他们应用计算机技术展示自己分析问题解决问题的才能。哈尔滨工程大学于2005年开始积极投身于ACM/ICPC活动中。时至今日,令我欣慰的是,从仅有的几名程序设计爱好者到如今上百人参与集训的规模,我们的校代表队已形成了一套自己的训练方法。 在多年的磨炼中,我看到我们的队员走了一些弯路,也经历了一些波折。经过不断的尝试、努力,以及与其他高校参赛选手积极的交流,他们渐渐成长起来。今天,他们把自己的经验编辑成为一本系统的教材,既是对自己多年来训练学习的总结,也为了使更多的ACM/ICPC爱好者有“据”可依。 哈尔滨工程大学举办过多种形式的区域ACM/ICPC赛事,包括省级区域赛、东北四省区域赛、亚洲区域赛等。2010年,主办了第34届ACM/ICPC 全球总决赛。这是我们举办的一次最高等级的ACM/ICPC赛事。赛事获得了圆满成功,得到了ACM/ICPC组委会以及世界各国参赛队员的一致好评。作为东北地区组委会,我们每年都会积极地举办省赛、东北地区赛以及其他各种赛事。所谓的不进沙场,一切皆为纸上谈兵。校代表队要在各种赛事中磨炼才能更加坚毅。 ACM/ICPC赛事活动是大学生自己的活动。大学生通过这些活动全面提高了自己的能力。从组织训练、参加比赛、赛队管理到举办比赛,都有学生参与。我们希望看到在一个十分自由的学术氛围里,学生可以放开手脚,自主地学习、创新。在ACM/ICPC竞赛中,我们能够得到的不仅仅是算法上的知识,还有学生的动手能力、创造能力以及团队合作和组织能力等。这种能够全面培养学生各方面能力...

课件下载

样章下载

暂无网络资源

扫描二维码
下载APP了解更多

目录
荐语
查看详情 查看详情
目录

第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Ford算法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 ...

    本书对参与ACM-ICPC竞赛训练、算法思维培养及程序设计实践,起到了有益的指导作用。近年来,随着ACM-ICPC赛事在中国的不断发展,国内高校的参与度和竞赛成绩不断攀升。ACM-ICPC竞赛训练能够综合、全面、系统的培养学生的算法思维和设计能力。通过赛事训练,能够将计算机语言类课程、数据结构、算法设计与分析、离散数学、组合数学、数论等众多专业课程进行很好的融合,对学生的专业培养和教育大有益处。

    本书以循序渐进的方式对ACM程序设计竞赛中所涉及的基本题型和知识点进行了综合的介绍。内容包括基础知识讲解、典型题目分析和算法设计,每道例题均给出完整的源程序作为参考。内容涵盖了基础算法、数据结构、字符串、搜索、图论、动态规划、组合数学和初等数论等。

    本书提供配套网站(http://acm.hrbeu.edu.cn),读者可从中下载所有书中题目的源代码,并在HEU Online Judgehttp://acm.hrbeu.edu.cn)上开设包括本书中出现的所有题目的评测专区,供读者提交、评测自己的程序以检验解题结果。同时,还开辟专门的论坛以方便读者之间沟通、交流和讨论。

    本次修订始终本着“实用、管用、够用”的原则,在尽量保持“原版特色、组织结构和内容体系”不变的前提下,对例题做了大量的筛选工作,同时对解题思路等内容进行了精心的设计和编写,既有利于启发,又留有余地,便于推动学生的思维培养。