在开始学习SICP之前,我的数学背景需要多深?

7

你好,我一直在尝试阅读SICP这本书,我发现自己抄袭了一些在线答案,但是对于递归与迭代程序的总体思想有了更深刻的认识。但是我开始接触到增长量级时,数学真的超出了我的理解范围。

为了让您了解我的数学水平,今天早上我花了一个小时学习带指数的分数加减法...

无论如何,我的数学技能必须得到大幅提升,我会继续努力的。但是,在阅读SICP之前,是否有一份简短的概念清单需要熟悉?我会奋斗到底去读完那本书...我认为它很棒,但我想以最佳方式来接近它。

目前,我认为在提高数学技能的同时,最好用时间来解决一些基础算法问题。

有什么建议吗? 谢谢!bp

4个回答

6

看起来 SICP 对你来说可能太过繁重。尝试阅读 HtDP,这本书以类似的风格教授编程,但更加注重简化数学部分。


这会让 OP 准备好阅读 SICP 吗?我没有读完 HtDP,所以我真的很好奇。 - okonomichiyaki
它将有助于(功能)编程方面,但显然无法解决数学问题。 - Eli Barzilay

6

理想情况下,您应该具备一些微积分技能才能学习SICP。 目前为止,我遇到的最高级别的数学是能够对函数进行积分和微分。 (我目前正在自学中)


我不同意--有一些情况下微积分会有帮助,但除此之外,预备数学就足够了。 - Jason S
@JasonS “足够”是指你仍然可以使用这本书并从中学习,但第一章中的许多代码示例和练习涉及数值积分和微分。该书在解释其中一些方面方面做得不错,但我想对于不懂微积分的人来说,遇到这些术语可能会有点震惊,除了他们正在学习的Scheme和编程知识。 - eliasbagley

5
在麻省理工学院,人们在学习了一学期的微积分后,会在第一年修SICP课程。我第一次阅读这本书时,数学知识超出了我的水平。在我辛苦地学习大学微积分课程时,该书的第一章变得更加易懂了。如果至少完成了一年的微积分课程,您可能会更容易地阅读该书。 话虽如此,我在返校攻读计算机科学学位之前就开始读这本书了。起初,我无法理解所有数学例子,但我仍然明白作者想表达什么。学完微积分后回顾之前的章节,经验更为丰富。这不是必需的。
我只读了这本书一半左右,但从目前情况来看,这本书只需要掌握前几章的数学技能。刻苦学习和跳过选定问题将帮助您克服困难。
我希望您决定读完这本书。它是一次非常启发性的经历。

1

对于SICP,一些离散数学也非常有用。我推荐 Rosen 的 《离散数学》。我在 Half Price Books 购买了第五版和解答手册的副本,只花了12美元。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接