ACM程序设计(第2版) 封面

ACM程序设计(第2版)

评分 3.7
字数
5.5万字
章节数
93
ISBN
9787301187234

标签

内容简介

本书详细讲解了ACM国际大学生程序设计竞赛编程、调试方法及提高时间、空间性能的策略,并充分利用了C++泛型编程的高效率、规范化的特性,全部采用C++泛型编程。

本书是一本专门针对ACM国际大学生程序设计竞赛而编写的教程,适合参加ACM竞赛的大学、中学生和编程爱好者学习。

编辑推荐

这本书的定位很明确:它不是通用C++语法教程,而是围绕竞赛场景训练“把题做对、把程序跑快”的能力。它把编程实现、调试排错和时空性能优化放在同一条学习链上,并强调泛型编程带来的规范性与复用性,读者能学到可迁移的代码组织方式。对参赛者而言,价值在于形成稳定的赛场习惯:先想清模型,再写成代码,最后用边界数据检验效率。书中的方法需要配合实际刷题才能内化,单靠翻阅收效有限。适合已有语法基础、准备参加ACM或类似算法竞赛的学生,也适合希望提升代码规范与性能意识的开发者。

适合谁读

适合

  • 已掌握C++基础语法、准备参加ACM竞赛的大学生
  • 中学信息学竞赛选手,想提升调试与性能优化能力
  • 计算机专业学生,希望把算法思路落成规范C++代码
  • 算法竞赛教练,寻找以竞赛实战为导向的教学参考

不适合

  • 完全没有编程基础、尚未学过C++语法的零基础读者
  • 主要使用Python或Java、暂时不打算转C++的参赛者
  • 只想了解算法理论、不准备动手写代码和调试的读者

阅读建议

  1. 每读完一节立即在本地或在线评测平台重写示例,不要只看不敲
  2. 为每道题记录时间、空间复杂度和实际运行结果,建立性能对比表
  3. 按竞赛时限做模拟训练,先独立完成,再对照书中思路复盘
  4. 把调试中遇到的典型错误分类整理,形成自己的赛前检查清单

出版社简介

北京大学出版社 中国 · 成立于 1979 年

北京大学出版社是一家综合性大学出版社,其出版方向涵盖古典文学、科学科普、社会文化、世界史、西方哲学与文化等领域。库内收录图书6031种,代表性图书包括《红楼梦》《狭义与广义相对论浅说(第15版)(附爱因斯坦关于统一场论及其他经典论文)》《几何原本》《圆锥曲线论》《东晋门阀政治》《神话哲学(上卷)》《神话哲学(下卷)》《海陆的起源》等。代表作者有曹雪芹、周汝昌、爱因斯坦、欧几里得、阿波罗尼奥斯、田余庆、谢林、先刚等。该社在古典文学与西方哲学原典译介方面形成特色,兼及科学经典与社会文化研究。因公开资料有限,此处仅依据库内图书呈现其出版方向,不作额外延伸。

目录

  1. 版权信息
  2. 前言
  3. 第1章 ACM程序设计入门
  4. 1.1 ACM/ICPC简介
  5. 1.2 用Dev-C++编写控制台程序
  6. 1.3 ACM竞赛本机调试方法
  7. 1.4 RealOJ源程序在线评测系统在线实验
  8. 第2章 C++STL泛型编程
  9. 2.1 C++STL概述
  10. 2.2 vector向量容器
  11. 2.3 string基本字符系列容器
  12. 2.4 set集合容器
  13. 2.5 multiset多重集合容器
  14. 2.6 map映照容器
  15. 2.7 multimap多重映照容器
  16. 2.8 deque双端队列容器
  17. 2.9 list双向链表容器
  18. 2.10 bitset位集合容器
  19. 2.11 stack堆栈容器
  20. 2.12 queue队列容器
  21. 2.13 priority_queue优先队列容器
  22. 第3章 ACM程序设计基础
  23. 3.1 读入一个参数
  24. 3.2 读入两个参数
  25. 3.3 1!到n!的和
  26. 3.4 等比数列
  27. 3.5 菲波那契数
  28. 3.6 最大公约数
  29. 3.7 最小公倍数
  30. 3.8 平 均 数
  31. 3.9 对称三位数素数
  32. 3.10 十进制转换为二进制
  33. 3.11 列出完数
  34. 3.12 12!配 对
  35. 3.13 五位以内的对称素数
  36. 3.14 01串排序
  37. 3.15 排列对称串
  38. 3.16 按绩点排名
  39. 3.17 按1的个数排序
  40. 第4章 ACM程序设计实战
  41. 4.1 Quicksum
  42. 4.2 IBM Minus One
  43. 4.3 Binary Numbers
  44. 4.4 Encoding
  45. 4.5 Look and Say
  46. 4.6 Abbreviation
  47. 4.7 The Seven Percent Solution
  48. 4.8 Digital Roots
  49. 4.9 Box of Bricks
  50. 4.10 Geometry Made Simple
  51. 4.11 Reverse Text
  52. 4.12 Word Reversal
  53. 4.13 A Simple Question of Chemistry
  54. 4.14 Adding Reversed Numbers
  55. 4.15 Image Transformation
  56. 4.16 Beautiful Meadow
  57. 4.17 DNA Sorting
  58. 4.18 Daffodil Number
  59. 4.19 Error Correction
  60. 4.20 Martian Addition
  61. 4.21 FatMouse'Trade
  62. 4.22 List the Books
  63. 4.23 Head-to-Head Match
  64. 4.24 Windows Message Queue
  65. 4.25 Language of FatMouse
  66. 4.26 Palindromes
  67. 4.27 Root of the Problem
  68. 4.28 Magic Square
  69. 4.29 Semi-Prime
  70. 4.30 Beautiful Number
  71. 4.31 Phone List
  72. 4.32 Calendar
  73. 4.33 No Brainer
  74. 4.34 Quick Change
  75. 4.35 Total Amount
  76. 4.36 Electrical Outlets
  77. 4.37 Speed Limit
  78. 4.38 Beat the Spread!
  79. 4.39 Champion of the Swordsmanship
  80. 4.40 Doubles
  81. 4.41 File Searching
  82. 4.42 Old Bill
  83. 4.43 Divisor Summation
  84. 4.44 Easier Done Than Said?
  85. 4.45 Let the Balloon Rise
  86. 4.46 The Hardest Problem Ever
  87. 4.47 Fibonacci Again
  88. 4.48 Excuses,Excuses!
  89. 4.49 Lowest Bit
  90. 4.50 Longest Ordered Subsequence
  91. 附录1 用VC++编写控制台程序的方法
  92. 附录2 本书试题第三方ACM网站链接
  93. 参考文献

常见问题

没有C++基础可以直接读这本书吗?
不建议。本书全部采用C++泛型编程,默认读者已了解基本语法、函数和标准库用法。零基础读者应先补C++入门与基础数据结构,否则很难跟上竞赛实现和性能讨论。
这本书只对参加ACM竞赛的人有用吗?
不完全是。它以ACM竞赛为主线,但调试方法、时空效率分析和规范化泛型代码训练,对准备算法面试、课程设计或日常算法练习的人也有参考价值;只是案例与节奏更偏竞赛。
怎样判断自己是否读懂了书中的优化方法?
能用同一道题写出可运行版本,说明白时间与空间开销在哪里,并在改变数据规模后解释性能变化;若只能背结论,遇到新题仍不会迁移,就说明还需要回到代码和测试中验证。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

曾棕根 作者

曾棕根的公开资料有限,目前可确认的身份信息主要围绕其编写的《ACM程序设计(第2版)》一书。该书属于编程设计类作品,从书名与分类来看,内容应面向算法竞赛与程序设计训练,服务于备战ACM等程序设计竞赛的读者群体。作为作者,曾棕根在这一题材上承担了内容组织与知识梳理的工作,将竞赛编程相关的思路与方法汇集成册,供学习者参考。由于库内仅收录其作品一种,且缺少生平、学历与职业背景等可核实的公开信息,暂无法对其经历作更多介绍。就现有资料而言,可以将其定位为一位在程序设计竞赛方向有编写实践的作者,其作品为相关学习者提供了入门与练习的读本,在编程设计类图书中体现出明确的竞赛训练取向。

同类高分