@课前对话:

  学生:老师,问题是解决了,但我不能很好地把它讲出来。

  老师:那是因为没抓住问题的关键。

 

1,第一章

2,第二章

3,第三章

 

4,第四章

 

5,第五章

 

6,第六章

 

7,第七章

 

8,第八章

 

 

@总结:

1,如何解决问题?

   本书从各种角度对"解决问题"进行了思考。

  在解答思考题时,我们经常会使用"先用较小的数试算"的方法。用较小的数进行尝试,可以发现规律、性质、结构、循环、一致性等,认清隐含在问题中的模式(认清模式,进行抽象化)。否则,即使解决了问题,也只是一知半解。

  另外,我们还尝试了"对目前得到的结果进行抽象化"。通过抽象化,可以将结论运用到当前问题以外的其他问题中。如果问题的解法严格来说只能够运用于当前问题,那么这个解法就名不副实。只有同样能够运用于其他类似问题的方法,才能称为解法。

2,由不擅长催生出的智慧

  人类擅长某事,正是这些不擅长,催生出了各种闪耀的智慧。

  人类不擅长处理庞大的数字,因此在计数法上下了很多工夫,罗马数字表示法,指数表示法等。

  人类不擅长毫无差错地进行复杂判断,因此逻辑就诞生了。从此可以通过逻辑表达式进行推论,也可以通过卡诺图解决复杂逻辑。

  人类不擅长管理大量事物,因此进行了分组。将同一组的事物视为同类事物,管理起来就会方便许多。

  人类不擅长处理无穷,因此通过有限的步骤处理无穷。

    ...诸如此类,人类运用智慧,细心钻研,不断地挑战问题。想法设法缩小问题规模,降低复杂度,使问题达到"可以机械式地解决"的状态。

    只要达到这个状态,就能将接力棒传至下一位赛跑运动员----计算机。

  你有不擅长的地方吗?那里或许会让你产生新的智慧,找到新窍门呢!

3,幻想法则(也成为高速公路法则)

 

4,程序员的数学

  在一般的编程中,程序员通常需要掌握很深奥的数学知识。不过,认清并简化问题结构,总结出具有一致性的规则等,对于程序员来说是家常便饭。

  不要觉得"不擅长数学"就默然处之,而要想到"数学妙趣横生,要多加运用",给每天的编程都注入数学的思维方式。

  数学会使得你的编程之路,更有趣,更平坦。

posted on 2014-05-06 12:43  学到老死  阅读(224)  评论(0)    收藏  举报