本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法以提升编程技巧、拓展程序设计思路的程序员,以及对挑战算法问题感兴趣、爱好解谜的程序员阅读。
......(更多)
作者简介:
增井敏克
1979年生于奈良,毕业于大阪府立大学研究生院。增井IT工程师事务所代表、注册工程师(信息工程学方向)。从事旨在“将商务、数学和IT结合以正确、高效使用计算机”的技能提升指导、软件开发以及信息安全咨询等工作。掌握C/C++、C#、Java、PHP和Ruby等20多种编程语言。著作有《在家就能学会的安全基础》等。目前在面向IT工程师提供业务技能评估服务的平台CodeIQ上负责人气栏目“每周算法”的出题和评审工作。
译者简介:
绝云
毕业于清华软院。曾在日本创意公司KAYAC从事即时通信软件和手游的开发工作,现供职于蚂蚁金服,专攻数据可视化方向。译作有《图解简单算法》《自制编译器》等,曾参与《像外行一样思考,像专家一样实践(修订版)》的审校。
......(更多)
第1章 入门篇 ★
尝试用编程解决问题 001
二进制和十进制 002
Q01 回文十进制数 003
Q02 数列的四则运算 007
Q03 翻牌 011
Q04 切分木棒 015
Q05 还在用现金支付吗 019
Q06 (改版)考拉兹猜想 023
Q07 日期的二进制转换 025
Q08 优秀的扫地机器人 029
Q09 落单的男女 031
Q10 轮盘的最大值 035
第2章 初级篇 ★
解决简单问题体会算法效果 039
性价比意识 040
Q11 斐波那契数列 041
Q12 平方根数字 045
Q13 有多少种满足字母算式的解法 049
Q14 世界杯参赛国的国名接龙 055
Q15 走楼梯 059
Q16 3根绳子折成四边形 063
Q17 挑战30人31足 067
Q18 水果酥饼日 071
Q19 朋友的朋友也是朋友吗 075
Q20 受难立面魔方阵 079
Q21 异或运算三角形 083
Q22 不缠绕的纸杯电话 087
Q23 二十一点通吃 089
Q24 完美击落三振出局 091
Q25 鞋带的时髦系法 093
Q26 高效的立体停车场 097
Q27 禁止右转也没关系吗 101
Q28 社团活动的最优分配方案 105
Q29 合成电阻的黄金分割比 109
Q30 用插线板制作章鱼脚状线路 113
第3章 中级篇 ★★★
优化算法实现高速处理 117
时间复杂度记法和计算量 118
Q31 计算最短路径 119
Q32 榻榻米的铺法 123
Q33 飞车与角行的棋步 127
Q34 会有几次命中注定的相遇 131
Q35 受难立面魔方阵 133
Q36 翻转骰子 137
Q37 翻转7段码 143
Q38 填充白色 149
Q39 反复排序 153
Q40 优雅的IP地址 157
Q41 只用1个数字表示1234 161
Q42 将牌洗为逆序 165
Q43 让玻璃杯水量减半 169
Q44 质数矩阵 173
Q45 排序交换次数的最少化 177
Q46 唯一的○×序列 181
Q47 格雷码循环 185
Q48 翻转得到交错排列 189
Q49 欲速则不达 193
Q50 完美洗牌 197
Q51 同时结束的沙漏 201
Q52 糖果恶作剧 205
Q53 同数包夹 209
Q54 偷懒的算盘 213
Q55 平分蛋糕 217
第4章 高级篇 ★★★★
改变思路让程序速度更快 221
编码风格 222
Q56 鬼脚图中的横线 223
Q57 最快的联络网 229
Q58 丢手绢游戏中的总移动距离 233
Q59 合并单元格的方式 239
Q60 分割为同样大小 247
Q61 不交叉,一笔画下去 253
Q62 日历的最大矩形 259
Q63 迷宫会合 263
Q64 麻烦的投接球 269
Q65 图形的一笔画 273
Q66 设计填字游戏 279
Q67 不挨着坐是一种礼节吗 283
Q68 异性相邻的座次安排 287
Q69 蓝白歌会 291
......(更多)
......(更多)