数学对于编程有多重要?

引言:

数学是一切科学的基础,也是计算机科学的基础。

不仅一切算法基于数学,而且没有数学,是无法编程的。

编程中的加减乘除运算基于数学。

编程中的if/else判断是数学的逻辑判断。

编程中的进制转换是基于数学。

数据库的left join等也是运用了数学中的集合。

光这些基础的,可能有人不以为然。再看一道编程题。

给定表达式[x/2] + y + x * y, 其中x,y都是正整数。其中的中括号表示下取整,例如[3/2] = 1 , [5/2] = 2。

有些正整数可以用上述表达式表达出来,例如正整数2,当取x = y = 1时,可以把2表达出来 ( 解释下:当x=y=1时, [x / 2] + y + x * y = [1 / 2] + 1 + 1 * 1 = 0+1+1 = 2 );

有些数可以有多种方式表达,例如13可以由 x = 2 y = 4 以及x = 3 y = 3来表示;

有些数无法用这个表达式表达出来,比如3。

从1开始第n个不能用这个表达式表示出来的数,我们叫做an,例如a1=1 a2=3,给定n,求an。

这道题可以说不懂梅森质数,大数取模(a^n mod b)是不可能做出来的。

数据结构中的图论等等基于数学,一切算法皆基于数学。

“高等数学在数学计算机科学基本用不上”,这句话可以说大错特错。说出这句话的,要么压根就不是编程人员,要么就是连编程的大门都找不着。

就拿现在最火爆的人工智能来说,先看最简单的近邻算法

再看决策树

再看贝叶斯

再看梯度上升/下降

svm

可以说,没有高等数学,连人工智能的门都找不着,如何编程?

数学不是异常糟糕的语言,更不是落后的语言,相反,数学是最简洁最优雅的语言。

编程不过是数学实现的一种工具。

如果想在编程路上走,尤其想在人工智能这条路走,请好好啃数学。

个人编程多年,一如老老实实啃数学。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180905A1Z5L400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券