《2022年数学与编程 2.pdf》由会员分享,可在线阅读,更多相关《2022年数学与编程 2.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学与算法(未整理版本)数学专业 ,有二十几门课.学完之后我感觉没有什么用处. 不能算很有用的数学领域(如微积分 ,微分方程 ,复变函数 ,等 )的内容删掉一些,增加诸如离散数学,运筹学 ,计算几何等应用性强的课程 ,甚至也要学程序设计,数据结构 ,计算机图形学等原先不属于数学专业的课程。数学是一个简单化工具,而非复杂化工具。 在算法分析方面就要用到许多数学方面的知识!一般没什么问题,但是比如较大的软件分析,设计和有一定难度的算法直接关系到你的数学功底 ,建议尽力学好如果只是写应用层的代码,数学要求不是很严格。但是如果写操作底层,研究新的算法,就需要很深的数学基础要看做什么软件了,国内估计用到
2、微积分之类的不多,概率,矩阵之类的多些吧,做 3D 游戏肯定要几何和线性代数的。传统上, 数学是以分析为中心的。数学系的同学要学习三四个学期的数学分析,然后是复变,实变,泛函等等。实变和泛函被很多人认为是现代数学的入门。在物理,化学,工程上应用的,也以分析为主。随着计算机科学的出现,一些以前不太受到重视的数学分支突然重要起来。人们发现,这些分支处理的数学对象与传统的分析有明显的区别:分析研究的对象是连续的,因而微分、 积分成为基本的运算;而这些分支研究的对象是离散的,因而很少有机会进行此类的计算。人们从而称这些分支为“ 离散数学 ” 。“ 离散数学 ” 的名字越来越响亮,最后导致以分析为中心的
3、传统数学分支被相对称为“ 连续数学 ” 。0000 经典:学好数学,最根本的是理清思路。先把例题看懂,仔细思考它的每一步0 数值分析主要在图形处理上有很大帮助。很多计算是通过数值逼近实现1 编译原理(不强求,至少知道词法分析和语法分析)2 高数确是基础,尤其是矩阵要玩熟算法倒不见得非要用到高等数学,不过思路很重要。有人说高等数学没必要?因为 高等数学用处似乎不大,我除了导数还记得一些,定积分、不定积分、傅立叶积分都统统忘个精光,但记得个基本在以次为基础去学其他课程是对的吗 线性 离散也是这样的吧,需要用到高等数学的项目应该是比较庞大了,如果你要搞研究你要学好高数还要看自己所涉及的领域,高数和数
4、值分析是一切数学研究的基础,高数还是要看,免得其他书上的积分号都认不到。3 离散也还算重要,好好看一下编程序的思路来自数据结构,数据结构来自离散数学数据和信息在计算机中是以二进制代码的形式存储的,计算机处理的是离散的对象。离散数学的作为计算机科学基础的布尔代数,关系代数, 数理逻辑, 组合数学和图论都属于软件开发人员的课程。 几本经典的离散数学课本一起对照着看,你会发现进步很快。另外你是什么水平就看什么水平的书,初学的看初学的,进级的看进级的,专家级的看专级的。结合数学结构一起看,毕竟我们不是研究数学的,目的是研究离算对计算机应用方面。名师资料总结 - - -精品资料欢迎下载 - - - -
5、- - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 4 线性和概率了解就好线性代数则看情况,如果你不做图形图像的三维变化,那么也无所谓大量的工程设计计算机领域,常常需要求解多个未知数(多元) 的线性方程组, 研究多元性方程组解的存在性,解的结构以及如何有效求解多元性方程组,是线性代数的一个主要研究内容, 矩阵是研究多元性代数方程组求解的一个基本工具,也是研究线性代数的一个基本工具。 特别是矩阵的概念和描述问题的方式可以应用与诸如多分支领域,因此掌握矩阵的方法及其应用不仅仅是学好线性代数的基
6、础,也可以为今后学习计算机科学理论和程序设计奠定的基础。4,5 高数并不重要,但离散,组合,线性代数等才是最重要的,在编程初期,你并不会感觉到,什么重不重要,当你掌握了编程后,自然知道了4,555 微积分自从牛顿和莱布尼茨创立了微积分以来,微积分作为一个基本的处理连续数学工具。学习计算机的学生常常有疑虑。应用于什么?无穷级数展开和级数收敛的知识对于计算机科学而言是十分重要的,甚至对于保障程序设计的正确性来说也是必不可缺少的。而要掌握有关无穷级数的知识,就必须学极限,收敛性,函数的导数等知识。这正是微积分的基本内容,况且无穷级数本身就是微积分的一个重要研究内容,因此。学习微积分的重要性不言而喻。
7、4,666 概率论概率论在计算机领域的应用非常的广泛,学习和掌握概率思想方法对今后学习计算机知识和从事相关工作有重要意义,例如:如何根据机房遭受病毒攻击的记录分析病毒发作的规律,计算机系统各部件发生故障的可能性计算,一台安装了两组密码系统比只安装一组密码的系统安全系数大了多少,电脑公司如何分配用于不同媒体的广告费以获得更高的顾客购买率,一幅图象传输时的误码率有多大,一个软件工程师如何利用概率分析的方法进行故障诊断等等。5 数据结构是大头,挑一本好书好好学透(当然前提是玩熟数组和指针),6 算法 /计算机原理 /数理逻辑 /编译原理 /操作系统都不用学的太深奥,知道一些就好,用到在学好了,7 汇
8、编的话只要能理解赋值/加法 /跳转几条基本指令的意义和中断的含义也就足够了。8 反对学习的时候深挖死扣的,学习应该用高屋建翎,独观大略的方法,不求甚解(当然不是不求解, 只是不要死脑筋)的态度。有些东西时辰不到你是明白不了的,不用浪费太多的时间。 人不可能一口气吃成胖子,慢慢来,每天进步一点点,总有一天能达到成功的彼岸。10 算法类的书:信息奥林匹克竞赛的书或看 ACM 的书,但不是那种题解!最好能将题目用到的知识分类并讲解的书11 概率、运筹是在设计中用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -
9、- - - - 第 2 页,共 4 页 - - - - - - - - - 12 经典:编程能力是编程能力,算法能力是算法能力,两者虽有联系, 但还是有区别的,不能混为一谈。算法本就是数学的一个分支,它当然和数学是有着密切联系的,数学功底好肯定有利于算法能力的提高。 算法能力其实是知不知道的问题,很多经典算法你要是没学过基本上是想不出来的(除非数学特别好),但若学过,一看问题就立刻会想到。而编程是个实践性问题,还包括 debug 能力。 假如说对于给定的问题,你已经想好了算法,要转换成具体的程序,这个过程中有很多不确定因素导致你写出的程序和算法并不完全一致, 有时候错误是明显的,而有时候则是隐
10、蔽的,这样你就必须在尽可能短的时间内发现错误所在并修正,这种能力与算法本身毫无关系。所以,要想算法好,多看书;要想编程好,多实践。13 实际上数学类知识有两个作用:第一,锻炼你的逻辑和智商。第二,对复杂数据量复杂关系进行设计的时候,必须要用到的。要真做到强者还需要你自己去创新14 “ 学习计算机图形学需要多少的数学?” 这是初学者最经常问的问题。答案取决于你想在计算机图形学领域钻研多深。如果仅仅使用周围唾手可得的图形软件,你不需要知道多少数学知识。 如果想学习计算机图形学的入门知识,我建议你读一读下面所写的前两章(代数,三角学和线性代数)9 网络:布线,管理,架构或研发(又可以分写一般通讯程序
11、,路由等网络设备研发(已经偏硬)等)至少熟悉 多平台的进程调度多线程和线程同步(TCP/IP 协议在不同平台通讯很正常)TCP/IP 协议的了解熟悉 C/C+(跨平台C 开发,包括VC,GCC 等等)等等15” 人工智能 ”我已经完全看不懂了,那里面用到能多看不懂的东西,没有研究生以上的水平我想也没有几个人能把学懂18 学 JAVA 数学要学到哪啊?最起码要学到哪? 如果你还想整两个像模像样的游戏(尤其是动作类那种),你得掌握计算几何(比如平面解析几何和立体解析几何)的有关内容, 还需要对一些高等函数以及概率论有大体的了解;如果你想进行一些计算理论上的研究(当然一般没有用java 搞这个的),
12、你需要丰富的组合数学,图论, 博弈论, 甚至矩阵论和群论等有关知识,另外还需要阅读有关于“ 数据结构 ” 和“ 算名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 法” 的书籍(当然这些书籍可能都是c 或 pascal语言) ;其他的视你所希望涉及的领域而定,像人工智能,神经网络(我不知道这是否算数学范畴)都是有可能用到的;总之,没有什么统一的标准,而且如果你买一本不错的有关java 应用的书(比如java 游戏设计什么的) ,里面一般都对用到的一些不甚通俗的数学知识有简单的介绍,所以如果你讨厌数学的话(其实对于一个热爱编程的人来说这种情况并不应该出现),也并不一定就非得专门找本数学书籍来研究。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -