干货 | 程序员用得上的数学都有哪些?
在数字化时代,程序员在各行各业中扮演着举足轻重的角色。从航空航天到生物医学,从金融科技到互联网,程序员们用代码推动着世界的发展。
而“程序员需要学数学吗?”一直是众多程序员热议的话题,一部分程序员说因为不懂数学绕过一些弯路,另一部分程序员说绝大多数工作都用不上那些数学原理,业余时间宁愿学写设计模式,也不愿花时间学数学原理。这就像西西弗斯推石头,没完没了没意义。
作为过来人,小慕必须告诉所有程序员朋友们:编程的本质就是数学问题。
举个最基础的例子,衡量代码运行效率的一个重要因素是复杂度。空间复杂度和时间复杂度的分析就源于数学的极限概念。复杂度的计算就是一个关于输入数据量 n 的函数,稍有数学思维,就能从平时的编程经验中得出这些结论:
一个顺序结构的代码,时间复杂度是O(1)
二分查找,时间复杂度是O(logn)
一个简单的 for 循环,时间复杂度是 O(n)
两个顺序执行的 for 循环,时间复杂度是 O(n)+O(n)=O(2n),其实也是O(n)
两个嵌套的 for 循环,时间复杂度是 O(n²)
具备这些意识,工作中再去分析代码的时间复杂度就会容易很多。实现基本功能的代码,谁都能写,真正的能力门槛是把代码写得简洁、优雅、可持续优化。 越往高处走,越是基本功的比拼。数学基础好的人,逻辑思维不会差,在编程世界中,理解底层原理、数据结构,都会比别人快一步,这可能被误认是优秀程序员的“天分”,我更相信,这是数学功底带来的养料。
数学这个庞大学科是出了名的高深,听原理名词就能劝退很多人,不过我们的目标不是学成数学家,没必要追求大而全。学好程序员用得上的数学,就足够了。
那么,对于程序员来说,哪些数学领域的知识用得上呢?
行业大佬最有发言权→他是国内一线互联网公司的开发者,学科背景扎实,一线代码经验也很丰富。所以这次给大家推荐他们的课程,是非常信赖的。

小慕福利来啦!
9.04-9.10期间下单,可获得【慕课网专栏一门】