具体描述
本书是一本解谜式的趣味算法书,从实际应用出发,通过趣味谜题的解谜过程,引导读者在愉悦中提升思维能力、掌握算法精髓。此外,本书作者在谜题解答上,通过算法的关键原理讲解,从思维细节入手,发掘启发性算法新解,并辅以Ruby、JavaScript等不同语言编写的源代码示例,使读者在算法思维与编程实践的分合之间,切实提高编程能力。 本书适合已经学习过排序、搜索等知名算法,并想要学习更多有趣算法以提升编程技巧、拓展程序设计思路的程序员,以及对挑战算法问题感兴趣、爱好解谜的程序员阅读。
作者简介
作者简介:
增井敏克
1979年生于奈良,毕业于大阪府立大学研究生院。增井IT工程师事务所代表、注册工程师(信息工程学方向)。从事旨在“将商务、数学和IT结合以正确、高效使用计算机”的技能提升指导、软件开发以及信息安全咨询等工作。掌握C/C++、C#、Java、PHP和Ruby等20多种编程语言。著作有《在家就能学会的安全基础》等。目前在面向IT工程师提供业务技能评估服务的平台CodeIQ上负责人气栏目“每周算法”的出题和评审工作。
译者简介:
绝云
毕业于清华软院。曾在日本创意公司KAYAC从事即时通信软件和手游的开发工作,现供职于蚂蚁金服,专攻数据可视化方向。译作有《图解简单算法》《自制编译器》等,曾参与《像外行一样思考,像专家一样实践(修订版)》的审校。
目录信息
尝试用编程解决问题 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
· · · · · · (收起)
读后感
用户评价
作为一个对算法充满好奇心的开发者,我一直在寻找能够带来新鲜感和启发性的学习材料。“程序员的算法趣题”这个书名,让我眼前一亮。它似乎预示着一种不同于传统算法书籍的学习方式,不再是枯燥的公式推导和概念解释,而是将算法的理解融入到解决一系列有趣的问题之中。我期望这本书的内容能够巧妙地将抽象的算法概念,转化为一个个生动鲜活的“趣题”,这些问题或许来源于实际开发场景,或许是经典的智力挑战,但都蕴含着深刻的算法思想。我希望通过解答这些“趣题”,我能够更直观、更深刻地理解各种算法的运作原理,以及它们在不同场景下的适用性。这本书是否会提供一些独特的解题思路和技巧,帮助我突破思维定势,培养出更强的算法分析和设计能力?我期待着它能让我体会到算法的智慧之美,并在解决问题的过程中,获得成就感和乐趣。我希望它能像一个优秀的向导,带领我深入算法的世界,去探索那些隐藏在代码背后的优雅与高效。
最近一直在寻找能够拓展我技术视野的书籍,尤其是在算法领域。作为一个长期在业务开发一线摸爬滚打的程序员,我深知算法的重要性,但往往因为工作节奏的压力,难以投入大量时间去系统性地学习。当我看到《程序员的算法趣题》这个名字的时候,我瞬间被吸引了。它并没有采用那种刻板的教程风格,而是将算法与“趣题”结合,这让我眼前一亮。我设想这本书里的内容,会是那种能够引发思考,而不是简单陈述的题目。也许是一些经典的算法难题,但被赋予了生动的背景故事;又或许是一些小巧玲珑的编程挑战,背后蕴含着深刻的算法思想。我特别期待的是,这本书的讲解方式会不会如同解谜一般,循序渐进地引导读者,从浅入深地理解算法的原理和应用。我希望它能教会我如何将抽象的算法概念,转化为解决实际编程问题的有效工具,而不是停留在理论层面。会不会有那些让你拍案叫绝的巧妙解法,让你在恍然大悟的同时,惊叹于算法的智慧?我期待着这本书能够成为我工作和学习中的得力助手,帮助我突破技术瓶颈,在日新月异的技术浪潮中,保持敏锐的洞察力和解决问题的能力。
对于我这样一个还在编程学习的初学者来说,算法往往是学习过程中最让人头疼的部分。那些复杂的数学公式,抽象的逻辑推理,常常让我感到望而却步。而《程序员的算法趣题》这个书名,一下子就抓住了我的痛点。我期待这本书能够用一种非常规的方式来讲解算法,让学习过程变得不再枯燥。我想象中的“趣题”,可能是那种生活中常见的现象,被巧妙地转化成算法问题,让我能够联系实际,更容易理解。或者,是那些经典的算法问题,但被赋予了趣味盎然的故事背景,让我能够像玩游戏一样去解决它们。我希望这本书能够让我体会到算法的魅力,而不是仅仅为了应付面试或者完成作业而学习。我会不会在解开一道道“趣题”的过程中,逐渐培养出一种“算法思维”,从而在面对各种编程挑战时,能够更加自信和得心应手?我渴望这本书能够帮助我打下坚实的算法基础,为我未来更深入地学习计算机科学打下良好的开端。它是否能像一个耐心的导师,用通俗易懂的语言,把我从算法的迷宫中引导出来,让我看到曙光?
在我阅读过的技术书籍中,我偏爱那些能够引发我深度思考,而不是简单灌输知识的书籍。《程序员的算法趣题》这个名字,让我立刻联想到了这样一种可能:作者并非是简单地罗列算法概念,而是将它们巧妙地融入到一系列引人入胜的“趣题”中,让读者在解决问题的过程中,潜移默化地掌握算法的精髓。我设想,这本书可能会包含一些极具挑战性但又充满趣味性的编程谜题,这些谜题的设计,能够充分激发读者的创造力和逻辑思维能力。它或许不像一本枯燥的教科书,而是更像一本互动式的编程游戏手册。我会不会在解开一道道“趣题”的过程中,不自觉地学习到各种排序、查找、图论、动态规划等经典算法的思想?我期待它能够教会我如何分析复杂问题,如何将它们拆解成更小的、可管理的子问题,以及如何设计出高效的算法来解决它们。它会不会提供一些独特的视角,让我看到算法在现实世界中的广泛应用,从而更加深刻地理解算法的价值?我希望这本书能够为我提供一条更具启发性的学习路径,让我在享受解题乐趣的同时,能够真正地提升自己的算法素养。
这本书的名字听起来就让我跃跃欲试,"程序员的算法趣题"!作为一个沉浸在代码世界里的新人,我常常觉得算法就像是这座知识宝库的基石,但很多时候,学习它的过程却显得枯燥乏味,充满了各种抽象的公式和难以捉摸的逻辑。我一直渴望找到一种方式,能够以更轻松、更有趣的方式来理解算法的精髓。想象一下,当那些原本晦涩难懂的算法概念,被巧妙地包装成一道道引人入胜的“趣题”,等待我去破解,那将是多么令人兴奋的事情!我期待着这本书能够带来耳目一新的学习体验,不再是死记硬背,而是通过解决实际问题,在动脑筋的过程中,自然而然地掌握算法的奥秘。我希望这本书不仅仅是提供算法的答案,更重要的是能够引导我思考,教会我如何分析问题,如何设计出优雅高效的解决方案。这本书会不会像一个睿智的朋友,用一种诙谐幽默的语言,伴我遨游在算法的星辰大海?我会不会在解决一道道“趣题”的过程中,不自觉地提升自己的编程功力,让我在面对更复杂的项目时,多一份自信和从容?这一切都充满了未知,但正是这份未知,激起了我内心深处的求知欲,迫不及待地想翻开它,去探索那些隐藏在“趣题”背后的精彩世界。
很多题目都类似,没有按算法类型循序渐进,真是把刊登的信息打包后出了本书。ruby语言为主,很多语法糖不习惯
ruby语言写的看着不习惯。
很多题目都类似,没有按算法类型循序渐进,真是把刊登的信息打包后出了本书。ruby语言为主,很多语法糖不习惯
- 基于作者在 http://codeiq.jp/ 上每周的算法趣题集结而成, 计算机基础, 贪婪/分治/动态规划/递归(尾递归/内存优化)/DFS/BFS/最短路径等算法都有涉猎, 更重要的是会通过旁白的方式启发思路.
ruby语言写的看着不习惯。