请问程序员具体要学那些相关的数学?
我知道程序跟数学很紧密。但数学的分类实在是太多了。我想知道除了必修的离散数学外,还有那些数学需要了解,请这方面的专家或感兴趣的的朋友们告诉我一下,越多越好。谢谢了。
我是学数学出身的,现在在做计算机。我觉得写程序的第一个要求是准确,第二个是运行要快,最后才是什么模块化呀之类的。数学从根本上可以培养程序员前两方面的能力。有些是泛泛的培养,有些则与程序直接相关。 我觉得下面这些数学比较重要, 当然分类比较多,可能容易混淆,比如离散数学就包括我说的好几类。
1, 数理逻辑。不说多了,对写条件判断或者说防止死循环,这方面的训练就有用。 2, 组合计数与算法分析。对一个问题,可能有几种算法,要通过计数来分析哪种算法更快,占用的空间更少。 3, 代数学,包括线性代数和比较基本的抽象代数。许多算法和问题用代数表达,推演比较简单。
4, 计算方法。这个涉及到许多常用算法以及误差分析,非常有用。 前面四类我觉得是最重要的,下面提到的是比较有益的。 5, 高等数学。对解决连续问题和实数运算比较有用,而且也是很多数学的基础。 6, 图论。许多算法与图论相关的。 7, 概率论与数理统计。
许多实用程序要用到。 对于某些方面的程序员来说,了解其他一些方面的数学知识也比较有用,比如说微分方程,对写股票预测软件等的,都有用。 最后推荐一套书:编程的艺术(The Art of Computer Programming)。作者是一代牛人 Donald Knuth, 此书由中译本。
一般说来,读者多的书比较便宜,读者少的书比较贵(因为要保本),然而此书却是读者既多卖得又贵的。 。
我是学信息安全的,算是彻底的程序员吧.. 我们在本科要学的数学按顺序排列如下(包括基础公共课): 高等数学(也有叫的,考研的话,是高数一) 线性代数(工科) 计算方法(也叫) 概率论与数理统计 离散数学
《计算方法》
问:小华5/1小时行了3/2千米他行1千米需要多少小时,他行1小时可行多少千米?(为...
答:1/5÷2/3=1/5×3/2=3/10小时详情>>
问:甲车每小时行38km乙车每小时行41km甲乙车同时两地开岀相向行了2.5小时后相...
答:(38+41)x2.5=197.5千米详情>>