本书由国际信息学奥林匹克竞赛(IOI)科学委员会成员、IOI出题人米哈尔?福里谢克参与创作,深入浅出地介绍了算法的基础知识和原理,帮助读者认识到算法不仅是理论上的概念,更是解决现实世界问题的有力工具。从第2章开始,每一章均配备了精心设计的问题和配套习题,书末附有习题解答。对于希望提升编程能力和备战信息学竞赛的师生而言,本书是一份宝贵的资源。
本书由国际信息学奥林匹克竞赛(IOI)科学委员会成员、IOI出题人米哈尔?福里谢克参与创作,深入浅出地介绍了算法的基础知识和原理;
用通俗的方法讲述算法的原理与思维方法,包含大量典型习题;
帮助读者认识到算法不仅是理论上的概念,更是解决现实世界问题的有力工具。
国际算法竞赛资深专家
国际信息学奥林匹克(IOI)科学委员会成员(多届任期)
IOI命题人
中东欧信息学奥林匹克(CEOI)主要组织者(三届)
互联网解题赛(IPSC)长期组织者(近20年)
国际大学生程序设计竞赛(ICPC)总决赛题目分析师
欧洲女子信息学奥林匹克(EGOI)联合创始人
第 1章 引言1
11 教育中的比喻1
111 术语定义1
112 比喻作为教学工具3
12 比喻与计算机7
13 如何阅读主要章节9
参考文献10
第 2章 图算法 11
21 图中的单源最短路径 11
211 概述 11
212 比喻13
213 分析18
214 经验19
215 习题19
22 树中的最长路径20
221 概述20
222 比喻22
223 分析26
224 经验28
225 习题28
参考文献29
第3章 计算几何31
31 带障碍物的最短路径31
311 概述31
312 比喻32
313 分析34
314 经验36
315 习题36
32 线段之间的距离37
321 概述37
322 比喻39
323 分析42
324 经验44
325 习题44
33 环绕数45
331 概述45
332 比喻46
333 分析49
334 经验51
335 习题51
34 多边形三角剖分52
341 概述52
342 比喻54
343 分析56
344 经验56
345 习题57
参考文献57
第4章 字符串与序列59
41 栈与队列59
411 概述59
412 比喻60
413 分析61
414 经验61
415 习题62
42 中值作为最佳集合点62
421 概述62
422 比喻63
423 分析65
424 经验65
425 习题65
43 子串搜索67
431 概述67
432 比喻68
433 分析76
434 经验77
435 习题78
参考文献78
附录 A 习题解答81