程序员理解关于数学的学术着作

时间:2012-06-30 18:38:14

标签: math

我想知道我应该以哪种顺序学习不同的数学领域,这样我就可以对所有理论进行全面的概述,以防我需要解决计算机编程问题。

所以我创建了这张思维导图

enter image description here

我不打算知道关于如何做某件事的所有细节(例如“高斯约旦减少”),我宁愿看一个例子,但是然后用数学软件如sage-maths或数学

我想知道,例如,考虑到分析功能,如何进入泰勒系列(我已经知道了,我只是说明了我期望的那种知识深度)。

所以我所有人,我希望能够阅读有关数学的学术论文,它们适用于计算机科学/编程,并且实际上从这些文章中理解了一些东西,所以我可以使用解决实际编程问题的知识

未决问题是:

  1. (a)您建议您以何种顺序了解这些领域,我应该在哪些方面进行更多的研究?

    (b)您是否在思维导图中看到任何缺失的区域?

4 个答案:

答案 0 :(得分:3)

几年前,我在数据结构和算法类中被推荐为this book。它涵盖了很多相关领域(概率,图表,计数,关系等),它是免费的! :-)

答案 1 :(得分:2)

如果你想要认真,你应该在大学里获得计算机科学的研究生课程。没有替代品。

必须知道基本集理论,大O,基本数据结构,基本实际分析。我建议看看Cormen等人。 “算法导论”和/或Manber的“算法导论:一种创造性的方法”。对于数论,检查Victor Shoup's book - 包含太多,但它在任何级别都是可读的。

我建议不要在以下主题上烦恼:复杂分析,功能分析,投射/反演几何,控制理论,数学物理,直到你知道你需要它们。

不要让你的图表变得越来越大,而是让它尽可能小。

答案 2 :(得分:1)

有一本好书,我认为可以帮助你从计算机科学研究论文和论文中获得更多。它被称为“混凝土数学:计算机科学的基础”,它可以在亚马逊上获得:

http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?s=books&ie=UTF8&qid=1341081763&sr=1-1&keywords=math+computer+science

我认为这会有所帮助,因为它将是相关的,并且它的巩固将有助于加快学习过程。

即使您没有任何资金,也只需谷歌并查看该指数,以了解您可能想要学习的领域。

这是one more interesting book

答案 3 :(得分:1)

这几乎是不可能回答的,因为许多编程任务根本不需要数学知识(除了计数和基本逻辑)。如果您对某个区域有特定兴趣(例如数值线性代数或统计数据),那么从那里开始。我建议的还是要掌握有限精度算法的工作原理。也许阅读一篇关于数值分析的介绍性文本,因为这将很好地理解数值稳定性是什么。一本关于算法分析的好书(关于速度和效率)不会有任何损害,如果你计划进行任何类型的数学编程,那么获得线性代数的合理知识是一个非常好的主意。应用数学中的几乎所有东西都减少到最终求解线性方程组(或迭代地这样做)。

说实话,没有正确的答案。