http://en.wikipedia.org/wiki/Concrete_Mathematics <-- 这是 Donald Knuth 专门为您编写的!
这个链接指向的是 Donald Knuth 编写的《具体数学》。如果你想进行练习,可以尝试一下欧拉计划。
以下是一篇有趣的文章,如果你还没有看过的话,它讨论了通过维基百科学习数学:
http://steve-yegge.blogspot.com/2006/03/math-for-programmers.html
以上有很好的建议 - 为了让一些内容更加清晰,这里有一个非常棒的项目,旨在改革高中数学教育。它可能有助于您理解学习数学的挫折以及如何克服这些困难。
请记住 - 数学教育的许多内容是锻炼您抽象思维和解决问题的能力。这两种技能都需要实践,即使您可能看不到问题与所谓的“现实生活”之间的直接联系,通过解决问题总会有东西可以学习和练习。
你不需要知道微积分才能编程。计算机编程由非常简单的数学运算组成,只有加法、减法、乘法、小数舍入,甚至长除法(四年级的数学也很有用)。
计数器非常有用;你需要知道如何从零开始计数。简单明了。大多数语言都是以零为基础,而不是以一为基础。许多学习者会忘记这一点。增量和预增量(例如,i++
和 ++i
)在语句中使用变量 i
之后或之前将其增加一。
逻辑运算符在编程中非常重要。小于和大于经常用于测试某个值并保持在适当的范围内。你需要意识到 i < 5
和 5 > i
是相同的,但它们计算出的结果要么是 true
要么是 false
。当像这样使用时:if (i < 5) ...
当 i = 4
时,它等价于 if (true) ...
if (i < 5 && i >= 0) ...
这意味着如果 i 小于五且大于或等于零,则执行该操作。NOT (!
) 和 OR (||
) 以类似的方式运作。%
)。它所做的就是取两个数字相除的余数。这对于区分偶数和奇数(例如表中的行)非常有用。数学基础好确实对编程有很大帮助!为了增强你的算法思维,可以尝试解决组合数学问题。有时候一些数学结果可以减少代码的复杂度,所以如果你想解决基本问题,至少要熟悉高中数学。我建议你阅读Donald E. Knuth的《计算机程序设计艺术》和Ronald L. Graham、Donald E. Knuth和Oren Patashnik的《具体数学》。我认为《具体数学》会为你的计算机科学数学基础打下坚实的基础,你应该试试。
祝编程愉快!
编程有很多种类型。如果你正在设计无线压缩算法,你可能需要工程硕士学位。如果你正在制作在线颜色选择器,用高中三角函数知识就可以应对。