个人建议前四点是较为重点需要学的,后面几点是个人建议:
1、 数理逻辑。不说多了,对写条件判断或者说防止死循环,这方面的训练就有用。
2、 组合计数与算法分析。对一个问题,可能有几种算法,要通过计数来分析哪种算法更快,占用的空间更少。
3、代数学,包括线性代数和比较基本的抽象代数。许多算法和问题用代数表达,推演比较简单。
4、计算方法。这个涉及到许多常用算法以及误差分析,非常有用。前面四类我觉得是最重要的,下面提到的是比较有益的。
5、高等数学。对解决连续问题和实数运算比较有用,而且也是很多数学的基础。
6、 图论。许多算法与图论相关的。
7、 概率论与数理统计。 许多实用程序要用到。对于某些方面的程序员来说,了解其他一些方面的数学知识也比较有用,比如说微分方程,对写股票预测软件等的,都有用。