数学对于计算机算法编程来说非常重要。我主要从下面两个方面来说明它为何这么重要

一. 培养逻辑思维能力

数学和算法编程都需要较强的逻辑思维能力,程序代码的逻辑结构、前后联系及处理方式都需要较强的逻辑思维能力,而数学学得好,逻辑思维能力强,通常算法编程领悟也会更深。

二. 数学应用于算法编程

这一点应该是数学与算法编程比较相关的重要原因,无论是计算机的底层还是非底层,数学知识到处都有体现。例如计算机底层的二进制、机器学习和深度学习的梯度推导、SVD分解、张量分解、PCA求特征值、优化问题、密码学的大数分解、概率图模型等等都是与数学特别相关。下面我随便举两个例子,可以自己体会

例1: 给定一个数x,开平方并取倒数。

代码实现如下

这是当年的经典游戏雷神之锤3里面的代码,经测试这段代码比(float)(1.0/sqrt(x))快4倍,计算性能有质的飞跃。为此还专门有一篇论文《Fast Inverse Square Root》讲解这个代码的数学原理,感兴趣的同学可以找一下这篇文章研究一下。

例2:给定一个数n,n可能非常大,比如10的18次方这么大,求x^2+y^2=n的解。

如果不用数学知识,直接暴力搜索,时间复杂度为O(n),效率低下,而且按目前的计算机水平也很难算出来。如果了解Brahmagupta–Fibonacci identity、Pollard-rho分解法、二次同余方程的解、欧几里德辗转相除等数学知识,那么求解这个问题的时间复杂度大大降低,保证0.2秒内出结果。

如果工作是算法岗位,数学更加特别重要,因为机器学习、数据挖掘、NLP等方向的底层原理基本都与数学脱离不开关系。

计算机算法需要什么数学知识,计算机编程算法和数学有什么关系?相关推荐

  1. 计算机二级c语基础知识,计算机二级C语基础知识整理.doc

    计算机二级C语基础知识整理 1.1 算法 算法:是一组有穷指令集,是解题方案的准确而完整的描述.通俗地说,算法就是计算机解题的过程.算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计. ...

  2. 计算机一级考试ppt基本知识,计算机一级考试MS Office应试技巧指导

    计算机一级考试MS Office应试技巧指导 全国计算机等级考试一级MS Office证书表明持有人具有计算机基础知识和初步应用的能力,掌握了文字处理.电子表格和演示文稿等办公软件的使用及因特网应用的 ...

  3. 云南计算机一级c类基础知识,计算机一级c类是什么

    技校网专门为您推荐的类似问题答案 问题1: 上海计算机一级考试和全国计算机一级考试有什么区别 跟随 已跟随 取消 确定 很简单.全国计算机考试全国认证 上海的可能只有上海和很少部分地区认证 在中国使用 ...

  4. 计算机小学生感兴趣的知识,计算机是 什 么-给小学生讲计算机知识.ppt

    计算机是 什 么-给小学生讲计算机知识 计算机的组成: 计算机的组成: 计算机的组成: 硬件: 从外观上看,计算机由主机.显示器.键盘.鼠标器和音箱等部件所组成. 从功能上看,计算机的硬件主要包括中央 ...

  5. 事业单位计算机和办公软件基础知识,计算机基础知识(事业单位计算机考试常考知识点总结)...

    计算机基础知识 计算机专业知识试题 计算机专业知识试题 1. 一个字节包含的二进制位数是( ). A. 8位 B. 16位 C. 32位 D. 256位 2. 既可作为输入又可作为输出设备的是( ). ...

  6. 计算机二级access公共基础知识,计算机二级ACCESS考试

    计算机二级ACCESS考试 语音 编辑 锁定 讨论 上传视频 计算机二级ACCESS考试为全国计算机等级考试[1] 中的一个科目,Access 2010是Microsoft Office 2010办公 ...

  7. 云南省计算机一级b类理论知识,计算机一级B类云南省计算机一级考精彩试题库资料...

    计算机一级B类云南省计算机一级考精彩试题库资料 (84页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档计算机(一级B类)云南省 ...

  8. 公共基础计算机常识题,公共基础知识计算机常识类试题汇总整理(含答案)

    主要是事业单位考试的试题筛选而来.事业单位公共基础知识 计算机常识 1.操作系统在第几代计算机开始应用(). A.第一代 B.第二代 C.第三代 D.第四代 2.一般按照(),将计算机的发展划分为四代 ...

  9. 计算机多媒体与平面设计基础知识,计算机多媒体技术包括平面设计吗?

    不包括 多媒体即多媒体信息服务,MMS(Multimedia Message Service),是目前短信技术开发最高标准的一种.它最大的特色就是可以支持多媒体功能,借助高速传输技术EDGE(Enha ...

  10. 计算机一级b考试理论知识,计算机一级b-一级计算机等级考试中的“一级B”指什么?谢谢! 爱问知识人...

    全国计算机等级考试(一级B)考试大纲 全国计算机等级考试(一级B)考试大纲 基本要求 1.具有计算机的基础知识(含计算机网络基本概念). 2.了解微型计算机系统的基本组成. 3.了解DOS操作系统的基 ...

最新文章

  1. 潜心学术,我删除了无数公众号,却将这10个置顶
  2. 充分理解HP Flex-10和VMware的端口映射关系
  3. 实现 Android 应用在开机时自启动
  4. 《Python高效开发实战》实战演练——开发Django站点1
  5. 互联网支付系统概要设计
  6. 初二生态系统思维导图_初中生物生态系统知识点思维导图
  7. 天正电气插入图块非常小与比例不符合
  8. 必须记住这几种庄家洗盘的形态
  9. 投资银行理论与实务(二):证券的发行承销与交易
  10. Linux上svnserve “db/txn-current-lock: Permission denied“ 问题解决办法
  11. android的ui模板,11免费好看的手机APP UI模板
  12. PHP——人人都会编程
  13. 项目管理-WBS与RACI的使用
  14. Linux安装docker及其他镜像
  15. 红帽linux 反编译,RedHat2018_Reverse
  16. 网友晒“老妈口头禅” 引集体共鸣
  17. 流水灯循环点亮c语言程序,流水灯来回点亮程序(汇编和C)
  18. AI机器人:人工智能机器人创意中心之微信智能聊天机器人登陆GUI
  19. 便宜寄快递攻略,3.5R寄全国
  20. java计算机毕业设计学籍管理系统源码+数据库+系统+lw文档+部署

热门文章

  1. 生产追溯系统-IQC来料检验
  2. html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码
  3. matlab求导赋值,MATLAB 函数先求导再赋值
  4. 中国各地高考难度地图:最难的省份不出所料!
  5. Qt-高分辨率drawImage模糊问题
  6. 《东周列国志》第九十七回 死范睢计逃秦国 假张禄廷辱魏使
  7. Premiere Pro CC2019软件安装教程
  8. Proteus 8.9SP2仿真软件
  9. vs窗体应用程序c语言,使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)...
  10. 了解一下DDD领域驱动设计