by kevin
25.
十二月 2012 08:13
>
做为一个程序员,很多时候,碰到问题时,都会后悔自己当初没把数学学好,也经常在思考程序员需要了解多少的数学知识才算是足够的。结城浩写的《程序员的数学》,就是为了回答这个问题的。书中提到:如果数学不好,是否可以成为一名程序员呢?答案是肯定的。编程的基础是计算机科学,而计算机科学的基础是数学。因此,学习数学有助于巩固编程的基础,写出更健壮的程序。 这个观点,我也是比较赞同的。所以也就耐着性子把这本书看了一遍。
这本书,有点像一般的计算机专业本科数学相关教程的复习笔记,比课本要好的一点,是结合了很多实际的例子。所以看看吧,就当复习。,立此存照。
0的特殊意义
标准化,统一规则。比如:100=1。
占位,表示,没有或者不存在的东西。比如:今天不用上课,表示成今天的上0节课。
周期性问题以及分组
实际开发过程中,很多时候会碰到周期性的问题,这个需要我们自己去猜想问题的周期是什么?
比如:今天是星期天,10100的天之后是星期几?
100 –> 星期一
101 –> 星期三
102 –> 星期二
103 –> 星期六
104 –> 星期四
105 –> 星期五
106 –> 星期一
107 –> 星期三
108 –> 星期二
109 –> 星期六
1010 –> 星期四
1011 –> 星期一
1012 –> 星期三
好不容易可以看出,周期是6。100 ÷ 6 = 16 余 4,所以10100的天之后是星期四。
排列组合,递归,数学归纳法
经常碰到吧,是不是已经忘光了,改天看书吧。 很好用哦,努力掌握吧。
最后,回答一个高深的问题,数字在程序开发中起什么作用?
1.思维训练,让程序员具备认识问题,抽象问题的思想。
2.数学建模,让程序员具备解决问题的能力。
所以才说,程序员可以不懂数学,但懂数学对你写程序有非常大的作用。
其他相关的文章:
Google首席Java架构师谈数学与程序员的关系
http://developer.51cto.com/art/201012/238798.htm
浅谈程序员的数学修养
http://www.builder.com.cn/2008/0303/751666.shtml