计算机算法需要什么数学知识,计算机编程算法和数学有什么关系?
数学对于计算机算法编程来说非常重要。我主要从下面两个方面来说明它为何这么重要
一. 培养逻辑思维能力
数学和算法编程都需要较强的逻辑思维能力,程序代码的逻辑结构、前后联系及处理方式都需要较强的逻辑思维能力,而数学学得好,逻辑思维能力强,通常算法编程领悟也会更深。
二. 数学应用于算法编程
这一点应该是数学与算法编程比较相关的重要原因,无论是计算机的底层还是非底层,数学知识到处都有体现。例如计算机底层的二进制、机器学习和深度学习的梯度推导、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等方向的底层原理基本都与数学脱离不开关系。
计算机算法需要什么数学知识,计算机编程算法和数学有什么关系?相关推荐
- 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
计算机二级C语基础知识整理 1.1 算法 算法:是一组有穷指令集,是解题方案的准确而完整的描述.通俗地说,算法就是计算机解题的过程.算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计. ...
- 计算机一级考试ppt基本知识,计算机一级考试MS Office应试技巧指导
计算机一级考试MS Office应试技巧指导 全国计算机等级考试一级MS Office证书表明持有人具有计算机基础知识和初步应用的能力,掌握了文字处理.电子表格和演示文稿等办公软件的使用及因特网应用的 ...
- 云南计算机一级c类基础知识,计算机一级c类是什么
技校网专门为您推荐的类似问题答案 问题1: 上海计算机一级考试和全国计算机一级考试有什么区别 跟随 已跟随 取消 确定 很简单.全国计算机考试全国认证 上海的可能只有上海和很少部分地区认证 在中国使用 ...
- 计算机小学生感兴趣的知识,计算机是 什 么-给小学生讲计算机知识.ppt
计算机是 什 么-给小学生讲计算机知识 计算机的组成: 计算机的组成: 计算机的组成: 硬件: 从外观上看,计算机由主机.显示器.键盘.鼠标器和音箱等部件所组成. 从功能上看,计算机的硬件主要包括中央 ...
- 事业单位计算机和办公软件基础知识,计算机基础知识(事业单位计算机考试常考知识点总结)...
计算机基础知识 计算机专业知识试题 计算机专业知识试题 1. 一个字节包含的二进制位数是( ). A. 8位 B. 16位 C. 32位 D. 256位 2. 既可作为输入又可作为输出设备的是( ). ...
- 计算机二级access公共基础知识,计算机二级ACCESS考试
计算机二级ACCESS考试 语音 编辑 锁定 讨论 上传视频 计算机二级ACCESS考试为全国计算机等级考试[1] 中的一个科目,Access 2010是Microsoft Office 2010办公 ...
- 云南省计算机一级b类理论知识,计算机一级B类云南省计算机一级考精彩试题库资料...
计算机一级B类云南省计算机一级考精彩试题库资料 (84页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档计算机(一级B类)云南省 ...
- 公共基础计算机常识题,公共基础知识计算机常识类试题汇总整理(含答案)
主要是事业单位考试的试题筛选而来.事业单位公共基础知识 计算机常识 1.操作系统在第几代计算机开始应用(). A.第一代 B.第二代 C.第三代 D.第四代 2.一般按照(),将计算机的发展划分为四代 ...
- 计算机多媒体与平面设计基础知识,计算机多媒体技术包括平面设计吗?
不包括 多媒体即多媒体信息服务,MMS(Multimedia Message Service),是目前短信技术开发最高标准的一种.它最大的特色就是可以支持多媒体功能,借助高速传输技术EDGE(Enha ...
- 计算机一级b考试理论知识,计算机一级b-一级计算机等级考试中的“一级B”指什么?谢谢! 爱问知识人...
全国计算机等级考试(一级B)考试大纲 全国计算机等级考试(一级B)考试大纲 基本要求 1.具有计算机的基础知识(含计算机网络基本概念). 2.了解微型计算机系统的基本组成. 3.了解DOS操作系统的基 ...
最新文章
- 潜心学术,我删除了无数公众号,却将这10个置顶
- 充分理解HP Flex-10和VMware的端口映射关系
- 实现 Android 应用在开机时自启动
- 《Python高效开发实战》实战演练——开发Django站点1
- 互联网支付系统概要设计
- 初二生态系统思维导图_初中生物生态系统知识点思维导图
- 天正电气插入图块非常小与比例不符合
- 必须记住这几种庄家洗盘的形态
- 投资银行理论与实务(二):证券的发行承销与交易
- Linux上svnserve “db/txn-current-lock: Permission denied“ 问题解决办法
- android的ui模板,11免费好看的手机APP UI模板
- PHP——人人都会编程
- 项目管理-WBS与RACI的使用
- Linux安装docker及其他镜像
- 红帽linux 反编译,RedHat2018_Reverse
- 网友晒“老妈口头禅” 引集体共鸣
- 流水灯循环点亮c语言程序,流水灯来回点亮程序(汇编和C)
- AI机器人:人工智能机器人创意中心之微信智能聊天机器人登陆GUI
- 便宜寄快递攻略,3.5R寄全国
- java计算机毕业设计学籍管理系统源码+数据库+系统+lw文档+部署
热门文章
- 生产追溯系统-IQC来料检验
- html5游戏开发教程实战:五子棋、四子棋、围棋、翻转棋四种对弈游戏,仅仅100行代码
- matlab求导赋值,MATLAB 函数先求导再赋值
- 中国各地高考难度地图:最难的省份不出所料!
- Qt-高分辨率drawImage模糊问题
- 《东周列国志》第九十七回 死范睢计逃秦国 假张禄廷辱魏使
- Premiere Pro CC2019软件安装教程
- Proteus 8.9SP2仿真软件
- vs窗体应用程序c语言,使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)...
- 了解一下DDD领域驱动设计