书中内容基于C++
全书共分10章。第0章讲解了算法的概念及体例说明。第1~7章分别就计数问题、信息查找问题、组合优化问题、图中搜索问题和数论问题展开,讨论了算法的构思和设计,详尽介绍了解决这些问题的渐增策略、分治策略、回溯策略、动态规划和贪婪策略、广度优先搜索策略、深度优先搜索策略等。第8章提供了10个让读者自解的计算问题,让读者有机会小试牛刀。第9章用书中给出的各问题的C++解决方案作为例子,讨论了C++语言的强大编程功能。书中一共收录了92个饶有兴趣的计算问题,每个问题(包括第8章留给读者自解的题目)都给出了完整的C++解决方案。
《趣题学算法》适于作为程序员的参考书,高校各专业学生学习“数据结构”“算法设计分析”“程序设计”等课程的扩展读物,也可以作为上述课程的实验或课程设计的材料,还可以作为准备参加国内或国际程序设计赛事的读者的赛前训练材料。
第0章 从这里开始 1
0.1 App程序与算法 2
0.2 计算问题 2
问题0-1 计算逆序数 3
0.3 算法的伪代码描述 4
0.4 算法的正确性 6
0.5 算法分析 7
0.6 算法运行时间的渐近表示 9
问题0-2 移动电话 10
0.7 算法的程序实现 13
0.8 从这里开始 15
第1章 计数问题 16
1.1 累积计数法 17
问题1-1 骑士的金币 17
问题1-2 扑克牌魔术 19
问题1-3 能量转换 22
问题1-4 美丽的花园 24
1.2 简单的数学计算 26
问题1-5 小小度刷礼品 26
问题1-6 找到牛妞 29
问题1-7 糟糕的公交调度 31
1.3 加法原理和乘法原理 34
问题1-8 冒泡排序 35
1.4 图的性质 38
问题1-9 聚会游戏 39
1.5 置换与轮换 41
问题1-10 牛妞排队 42
第2章 数据集合与信息查找 45
2.1 集合及其字典操作 46
问题2-1 开源项目 46
问题2-2 王子的难题 53
问题2-3 度度熊就是要第一个出场 56
问题2-4 寻找克隆人 62
问题2-5 疯狂搜索 64
2.2 文本串的查找 66
问题2-6 Pandora星球上的计算机病毒 69
2.3 全序集序列的排序 71
问题2-7 DNA排序 73
问题2-8 度度熊的礼物 76
问题2-9 通信系统 78
2.4 集合的并、交、差运算 80
问题2-10 计算机调度 81
第3章 现实模拟 85
3.1 简单模拟 86
问题3-1 对称排序 86
问题3-2 边界 89
3.2 栈及其应用 92
问题3-3 Web导航 93
问题3-4 周期序列 95
3.3 队列及其应用 99
问题3-5 稳定婚姻问题 99
问题3-6 最好的农场 102
3.4 基于二叉堆的优先队列及其应用 105
问题3-7 David购物 107
问题3-8 内存分配 110
3.5 二叉树及其应用 115
问题3-9 后缀表达式 116
问题3-10 符号导数 119
第4章 组合优化问题 125
4.1 组合问题及其回溯算法 126
3-色问题 126
N-后问题 127
0-1 背包问题 128
4.2 回溯算法框架 129
问题4-1 探险图 129
问题4-2 Jill的骑行路径 134
4.3 排列树问题 138
问题4-3 八元拼图 138
问题4-4 一步致胜 142
问题4-5 订单 145
4.4 子集树问题 147
问题4-6 命题逻辑 147
问题4-7 整除性 151
4.5 用回溯算法解组合优化问题 154
问题4-8 盗贼 154
问题4-9 牛妞玩牌 156
问题4-10 三角形游戏 159
问题4-11 轮子上的度度熊 162
4.6 加速计算组合优化问题 167
问题4-12 三角形N-后问题 167
第5章 动态规划与贪婪策略 172
5.1 动态规划 173
问题5-1 数字三角形 173
问题5-2 形式语言 176
5.2 0-1背包问题的动态规划算法 179
问题5-3 温馨旅程 180
5.3 最长公共子序列问题的动态规划算法 182
问题5-4 射雕英雄 184
问题5-5 人类基因功能 186
问题5-6 清洁机器人 189
5.4 贪婪策略 193
问题5-7 牛妞的最佳排列 193
问题5-8 渡河 197
5.5 无向带权图的最小生成树 199
问题5-9 网络设计 202
问题5-10 网页聚类 204
5.6 有向带权图单源最短路径 206
问题5-11 牛妞聚会 208
问题5-12 最短路 210
第6章 图的搜索算法 218
6.1 广度优先搜索 219
6.2 无向图的连通分支 221
问题6-1 女孩与男孩 221
问题6-2 卫星照片 224
6.3 图中顶点间最短路径 227
问题6-3 骑士移动 228
问题6-4 蜜蜂种群 230
6.4 深度优先搜索 233
6.5 有向无圈图的拓扑排序 235
问题6-5 考虑所有的光盘 236
问题6-6 循序 239
6.6 无向图的关节点和桥 242
问题6-7 网络保护 245
问题6-8 夫妻大盗 248
6.7 流网络的最大流问题 250
问题6-9 网络带宽 252
问题6-10 电网 255
问题6-11 选课 258
6.8 欧拉路径问题 261
问题6-12 观光旅游 262
问题6-13 Johnny的新车 267
问题6-14 放牛娃 269
第7章 数论问题 272
7.1 整数的进位制 273
问题7-1 牛牛计数 273
问题7-2 数制转换 275
7.2 10进制非负大整数的表示与算术运算 277
问题7-3 除法 281
7.3 整数的模运算 282
问题7-4 Maya历法 283
问题7-5 Euclid游戏 285
7.4 最大公约数 287
问题7-6 纽约大劫案 289
问题7-7 青蛙的约会 292
7.5 素数 295
问题7-8 素数分割 296
问题7-9 哥德巴赫猜想 298
问题7-10 困惑的密码员 299
7.6 算术基本定理 301
问题7-11 密码学中的幂 302
问题7-12 RSA因数分解 304
第8章 动手做 307
问题8-1 测谎 308
问题8-2 伪图形识别 309
问题8-3 反转数相加 311
问题8-4 直角多边形 312
问题8-5 二叉搜索堆 313
问题8-6 物以类聚 314
问题8-7 旅程 315
问题8-8 午餐 316
问题8-9 网络攻击 317
问题8-10 素数个数 318
第9章 C++程序设计 320
9.1 C++的程序结构 321
9.1.1 源文件的组成 322
9.1.2 语句与关键字 323
9.1.3 数据与表达式 325
9.1.4 指针类型和引用类型 328
9.2 C++的面向对象程序设计技术 331
9.2.1 类的封装 331
9.2.2 类的继承 338
9.2.3 多态 349
9.3 C++的模板技术 358
9.3.1 函数模板 358
9.3.2 类模板 360
9.4 C++的标准模板库——STL 366
9.4.1 容器类模板 367
9.4.2 算法模板和仿函数 383
9.4.3 类模板组合 386
9.5 数据的输入输出 391
9.5.1 文件输入输出流 391
9.5.2 串输入输出流 392
9.5.3 流运算符的重载 396
移动环境下高校图书馆用户情景敏感服务模式及平台开发 本书特色 管理科学与工程、情报学、信息管理、图书馆学以及教育管理等专业的高校师生,相关研究人员和科研管理者移...
《漫步,遇见地道的台北生活》内容简介:本书是介绍轻松愉快的台湾徒步旅游书。作者带你逛仁爱路林荫大道、PEKOE杂货铺、东区茶街、
ASP.NET程序设计教程 本书特色 《ASP.NET程序设计教程》共分四部分,由12章组成,**部分是ASP.NET基础部分。本部分讲述了ASP.NET基础知...
秘Google的发展之路!Google,这个有着数百亿的网页存储量、每天两亿搜索次数的搜索引擎,最初仅仅是一个方程式。这个由拉里·佩
本书收录StephenM.Stigler的22篇论文,主要关于统计的发展历史,同时涉及统计思维、统计标准与统计检测等诸多方面。本书特别关注
微机原理与接口技术 内容简介 本书是省精品课程教材,依据电子信息科学与电气信息类平台课程教学基本要求编写,以80x86为主,介绍微机原理的基本理论与技术应用。主...
《超越财务报告内部控制:中国经验》内容简介:本书在梳理与比较中美两国企业内部控制目标导向的历史演进过程、理论探讨不同目标导
《从零开始构建深度前馈神经网络》内容简介:2016年,阿法狗(AlphaGo)为全世界打开了一条窄窄的门缝,通往未来之路就此展现。通过
本书是由40多位国外游戏开发行业最为优秀的程序员撰稿的技术文集。每篇文章都针对游戏编程中的某个特定问题,不仅提供了解决思路
《幸福请进门》内容简介:本书是由搜狐职场一言堂所请过的讲师共同创作的一本职场心灵鸡汤,按照心理学“21天改变观念”的心理周期
PRO/ENCINEERZ中文野火版4.0模具设计师-分模特训篇 目录 第1章Pro/E分模的基础知识1.1Pro/MOLDESIGN模块1.2Pro/E的模具...
WanttotakeyourCSSdesignstothenextlevel?willshowyouhowtocreatedozensofCSS-basedWe...
InDesign CC实战从入门到精通-(全彩版) 本书特色 InDesign是当今流行的专业排版软件,被广泛应用于平面设计、印刷出版、数字媒体等诸多领域。本书...
《破坏之王》内容简介:网际空间的发展带来了机遇,也带来了威胁,ddos是其中最具破坏力的攻击之一。本书从不同角度对ddos进行了介
《全国计算机等级考试一本通·二级C语言》内容简介:为了帮助考生在最短的时间内顺利通过计算机等级考试,全国计算机等级考试命题研
PS是这样玩的-轻松掌握Photoshop通关秘籍-(附光盘) 本书特色 《ps是这样玩的——轻松掌握photoshop通关秘籍》主要以生动活泼的闯关模式来设定...
《西城追忆·抗战西城》内容简介:2015年初,西城区档案局(馆)与西城区文物研究所合作出版的《西城追忆·文物保护专辑》,深受各
本书是美国亚马逊网站同类书长期销售冠军,并受到微软ASP.NET小组项目经理RobHoward的大力推荐,中文版由中科院专家汤涛老师翻译
《程序员的修炼——从优秀到卓越》是《高效能程序员的修炼》的姊妹篇,包含了CodingHorror博客中的精华文章。全书分为8章,涵盖了
《摄影造型解析》内容简介:《摄影造型解析》作者董介人系南师大徐悲鸿教育奖获得者。本书作者以该校摄影专业研究生课的基础,加以