zoukankan      html  css  js  c++  java
  • 程序员为什么一定要学好数学?驻足听一下“老人言”

    讲一下自己的惨痛经历!三个方面:

    1、数学?不存在的,老子只学专业课!

    2、数学?不学不行,老子还得去补一下!

    3、数学?不仅仅要学,还要深入学!

     

     

    1、数学?不存在的,老子只学专业课!

    学习之初,很多人都会有这样的困惑。包括我在内,我想学计算机专业,老师你就直接单枪直入,教我专业性的东西啊,光教一些跟编程八竿子打不着的数学干啥?!

    这样导致的一个结果就是,每次基础学科考试总是应付了事,抱着能过能及格的心态一路走来,不遇坎坷就一直坐着自由落体的运动!

    2、数学?不学不行,老子还得去补一下!

    我学习数据结构和算法时,总感觉自己用起来没有得心应手的感觉,做一些算法优化的时候,基本上也是只能现搬书里的算法,遇到不太一样的问题,就不知道怎么解决了。就比如那些什么排序,快速排序堆排序希尔排序。。。只能记住他们的时间复杂度和空间复杂度和写法,却从来不知道这些算法是怎么设计出来的,这些算法为什么是正确。

    于是开始不断地翻看算法相关的书籍,原因正是数学基础不好,因为没有从根基上了解其原理,所以学习起来总感觉自己在中间飘着。

    其实无论我们以后是学习哪一门编程语言,或者说要学习大数据、人工智能等,数学是一个很重要的学科。

    3、数学?不仅仅要学,还要深入学!

    计算机归根到底在cpu执行的都是指令操作,每个指令最终都是靠0101二进制来存储和解析,这就是数学里面最基本的东西。所以说,计算机和数学密不可分。

    举例说明:

    归纳证明法和递归编程的关系非常紧密,你不理解其中一个,就不可能真正理解另外一个。你可能不知道术语基本情况和归纳假设,但是如果你不能理解这些概念,你就没有办法写 出正确的递归程序。所以,即使是在与数学无关的领域内,不理解这些数学概念的程序员也会遇到很多困难。 优化方法取决于函数的形式,从目前看,最优化方法通常是基于微分、导数的方法,例如梯度下降、爬山法、最小二乘法、共轭分布法等。 还有线性代数中的矩阵、转置、秩 分块矩阵、向量、正交矩阵、向量空间、特征值与特征向量等在数据分析中都有很大的关系。

    综上:如果想要在IT行业技术上有突破深入发展,还是要深入学习数学的。不能说你为了学编程就是写点应用逻辑,这样多没意思。什么编译器,操作系统,浏览器,数据库,游戏引擎,大学期间都可以自己试试造轮子写一写,学习过程中不要老是用别人的API,老是用别人写的库,要度尝试自己写内核,虽然一开始可能会很烂,但毕竟能让自己学到东西不是?

  • 相关阅读:
    用户控件的缓存技术之二【共三篇】
    .NET获取URL的各种方式及其区别
    图片上传封装类【包括图片上传和缩略图上传】.NET
    .NET抓取数据范例 抓取页面上所有的链接
    JQuery基础 学习的一些例子以及手册
    呵呵呵呵。。。系统还原了,终于可以用IE登陆百度了
    不用框架使用ajax 纯js使用ajax post,get范例及其区别
    用ashx还是aspx写ajax响应
    repeater绑定数组、哈希表、字典 ArrayList/HashTable,Dictionary为datasource
    Access数据库访问类 帮助类
  • 原文地址:https://www.cnblogs.com/qf-dd/p/10240343.html
Copyright © 2011-2022 走看看