`
oldbeggar
  • 浏览: 17090 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

做题的乐趣——《编程之美》

阅读更多

读中学的时候,经常跟几个好友一起以研究一些怪异有难度的物理或数学题为乐。常常能将其它的事情都抛在一边,埋头于这些在旁人看来没有多大意义的题目中。脑子中一旦冒出了新的idea,总是会着急地与朋友讨论,唾沫横飞,书笔交错。而到最后解出答案时,无论最后的答案是谁算出来的,都会在心里产生一些模型的成就感,似乎又为这世界做出了些伟大的贡献。我想,正是有了这种心态和那一帮一起以做题为快乐的朋友们,高考在我看来才是一件那么快乐的事情。但是后来进入大学,本科的专业学得太差,读研时也没遇到能一起讨论题目的朋友,更重要的是难以找到适合于大家一起讨论的题目。

读研的这两年,为了养活自己,参加了一些书籍的翻译工作,也尝试了不少出版社和出版公司的试译,其中就包括博文视点。参加博文视点的试译是为了一本很感兴趣的Perl书籍,虽然尽力而为,但还是被拒了。不过在这期间结识了博文视点的一位小编(据博文工作人员blog,此小编为古典风格的美女,不知道这个古典是不是指的唐朝~~)。偶尔联络,讨论一些与书籍有关或无关的话题。邹欣老师及其BOP小组编写的《编程之美》一书也正是这位美女推荐给我的。

首先不得不说这本书的宣传非常之成功。从joyo买来书,一开始也没时间看,就堆在实验室的桌子上。路过的人都会随手翻翻,说一句“好书”。如果我顺口问上一句“你看过?”“好在哪?”回答多半都是“不知道”。让没看过的人都说好,宣传能做到这种境界,不容易啊。

回到第一段说的事情。这几天稍微清闲一点,就翻看了一下《编程之美》,从序言看起。我看书其实很喜欢看序言和后记。一本好书的序言和后记中觉得凝结着作者的心血。从序言和后记的内容和质量也能看出一本书到底是纯粹拼凑的商业作品,还是一本值得细读的佳作。《编程之美》显然属于后者。从调侃一些找工作和面试的基本情况,到介绍微软招人的方式,都写得很真实。不过整本书中最具价值的还是那些面试题目和对题目的分析。

跟邻座的同学约定,随便从书中选一个题目,看谁的解法最好。抽中的题目是294页的4.6,一个从桶中取球的题目。如果能充分的理解题目,其实很容易。但是题目中在提问时却设了一个巧妙的陷阱,一下子就将同学套进去了。来看看这个题目的问题:“问:最后桶里面只剩下一个黑球的概率是多少?”。一看到问题中的“概率”二字,同学在草稿纸上写下的就是一堆诸如贝叶斯公式之类的东西。一阵天昏地暗的运算之后,告诉我:算不出具体的概率,但应该有很大的概率是黑球。我要他将一步步的推断过程讲给我听。一堆公式,逐步地展开,最后的结果就是他自己也不知道自己在算什么了,完全迷失了~~

这个问题中的“概率”二字对于学过概率论的理工科学生来说太有诱骗性了。其实这个题目与概率论完全无关,一道纯粹的离散数学题,或者可以说是适合给没学过概率论的中小学生做的智力题。如果将问题改成“最后桶里面剩下的一个球是黑球还是白球?”,或许这道题目的难度就能减去大半。不知道邹欣老师在写这个题目的时候是否做了这方面的考量。

我又给同学谈起我的想法,一阵飞沙走石,双方都算是理解了对方的想法。然后再翻开书看看微软牛人们的分析和解答,顺便研究一下扩展问题。两人恍然大悟之时再去看电脑上的时间,已经过去将近两个小时了。

很久没有这种感觉了,两个人能为了一个问题一起埋头苦想。如果没有《编程之美》这种牛书,估计也没人有兴趣跟我一起研究问题,这种问题也不会引起我的兴趣。买一本书,可以跟好友一起研读,很惬意的事情。还约定一起实现书中的算法——或许我又能回到中学那种以解题为乐趣的年代。

PS.书的宣传很成功,版面设计很好,但是文字校对的功力需要提高。核对了一下最新的勘误表,发现其中还是遗漏了一个错误:第30页倒数第五行,应该是“购买的卷数和本数”,而不是“本书”。不过待我告知美女小编时,第二版已经在印刷厂中了~~~

陈钢,2008年5月5日,中南大学计算机楼
chen.gang1983@gmail.com

分享到:
评论
1 楼 wenzhihua1983 2008-07-18  
恭喜恭喜,
能找到伙伴或者对手。。

相关推荐

    成为编程高手的12条军规

    不要漏掉书中任何一个练习题——请全部做完并记录下解题思路。  13.你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。  14.VC、C#、.NET这些东西都会过时,不会过时的是...

    学习C++的50条建议

    不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; 完成练习题是检验学习效果的好方法。记录解题过程有助于日后回顾和总结。 #### 39. C++语言和C++的集成开发环境要同时学习和掌握; 不仅要学习C++...

    经典算法题目

    首先,入门必做题.doc是一份精心挑选的初级算法题目集,它包含了从基础到进阶的各种问题,适合初学者逐步提升。这些题目通常涵盖以下几大类: 1. **排序与搜索**:排序算法如冒泡排序、快速排序、归并排序等,以及...

    ACM-ICPC:感觉自己做了假题

    "感觉自己做了假题"这个标题可能是在幽默地表达面对复杂或出乎意料的题目时的一种自嘲或挫败感。描述中的“玩得开心,慢慢来。”则是一种鼓励和轻松的心态,提醒参赛者享受比赛过程,不必过于焦虑。 标签中的...

    IT搞笑程序(有意思)

    它利用编程语言和计算机术语创造幽默,让用户在解题过程中体验到不同于常规计算软件的乐趣。程序设计巧妙地将学习和娱乐结合在一起,既可以帮助用户巩固基本的数学知识,又能在互动过程中提供娱乐价值,增加了用户与...

    C语言项目答辩(ATM).pdf

    - 增强解决问题的能力,通过做题来巩固知识。 通过C语言ATM项目的实施,作者不仅掌握了编程技能,也体验到了付出与收获的乐趣,以及解决问题的成就感。这些经验和体会对于其他学习者也有一定的借鉴价值。

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有...

    JAVA上百实例源码以及开源项目源代码

    内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有...

Global site tag (gtag.js) - Google Analytics