导读:本论文主要论述了算法计算机论文范文相关的参考文献,对您的论文写作有参考作用。

(重庆人文科技学院 理工学院数学系,重庆 401572)

摘 要:数学算法是一种将很多问题进行归纳总结,然后采用统一计算的数学思想.计算机编程技术采用的就是数学算法,计算机利用数学算法进行编程语言和编程逻辑,所以,计算机编程优化需要广泛应用数学算法,本文就数学算法对计算机编程优化的分析与研究.

关键词:数学算法;计算机编程;优化;研究

中图分类号:TP312文献标识码:A文章编号:1673-260X(2014)11-0013-02

如今,计算机软件的开发应用都是依靠计算机编程来实现的,计算机编程的前提就是应用数学算法,数学算法是建立在一种模型上的理论知识,通过这种理论来实现高效的逻辑应用.所以,在计算机编程中要应用到数学算法,在计算机编程中将数学算法充分应用到其中,计算机编程才能得到优化.

1.国内研究现状、水平及其发展趋势

计算机科学从出现那一刻开始,就与数学等其他的学科有着密切的关系,数学算是与其关系最为密切的.随着科技的迅速发展,计算机技术也有了飞速发展,并且呈现出异彩纷呈的局面.如今,在计算机研究的新领域中,计算机与数学的关系成为其研究的新焦点,曾经美国的一位研究计算机数学的专家说过这样的话,他说计算机数学实际就是算法的数学.目前,计算机科学在理论上的研究包括以下几个方面:可计算性理论、算法与设计理论,网络理论等.其实这些方方面面的理论内容是相互联系的,并且基于其联系的前提下不断地被研究出新的课题.即便是计算机软件与硬件已经得到迅速发展,但是一直都未超出冯.诺依曼的计算机体系结构,所以说,我们在利用计算机解决我们现实中的各种问题时,使用的方法都是类似的.

2.数学算法对计算机编程优化的分析与研究的目的、意义与用途

我们在运用计算机解决一个现实具体的问题时,通常需要以下几个环节:首先,要从具体的问题中建立起一个合适的数学模型,接着寻求一种解决这个数学模型的具体算法,然后编出程序,对该数学模型进行计算,进行不断地测试,寻找最优的计算方法,一直到解答出最终的结果,从而将实际问题的解答过渡到利用计算机进行解决.其中的和算法相关的公式就是程序等于算法+数据结构,它体现的是实际算法与计算机程序的密切关系.

在编程过程中创建的数学模型,该方法就是用数学的观点来解决我们现实中的各种问题,之所以要建立数学模型,就是利用其在建立的过程中,能够把极为复杂的问题简单化,经过抽象思维转化为合理的数学结构.经过我们的调查、然后收集各种数据资料,详细地研究对象的本质特征及其内部存在的可循规律,从而建立起一个能体现实际问题的数量关系式,然后借助于数学的理论和方法进行分析、探讨、研究,最后使其得到最终的解决,从此可以得出,创建数学模型及求解的前提条件就是数学理论知识.

计算机算法设计与分析:哈佛大学开放课程:计算机科学cs50.第01集.算法,程序设计,语言等.中英双字幕

伴随着计算机技术的发展、软件的不断升级,很多复杂的数学原理和大量的数学计算,都将转化为简捷易于操作计算机程序的中菜单式程序,编程的最终目的就是利用某种程序设计语言编写程序代码,然后,通过计算机来自动完成某一问题的解答,从而得到一个结果.在一个新的软件诞生之前,首先要做的是,创建一个科学合理的数学模型,然后对应实际问题进行算法的设计,之后再进行编程环节.因此,建立数学模型是软件编程开始的第一步.换句话说,数学建模是把数学算法与利用计算机解决实际问题的纽带.

对于计算机编程的优化的前提下是建立好数学模型,其中对计算机编程的优化有着至关重要的意义的就属算法的选择.通常利用高级语言编写的程序在计算机上进行所需要的时间是受以下因素影响的:选择的算法是如何进行计算的;所解决问题的规模;编程过程中产生的机器代码其质量如何;计算机自身的运行速度如何.因为不同的程序在进行编译的过程中,或者不同型号的计算机在执行指令运行时,运行的效率不尽相同的.那么用绝对的时间但未来衡量计算机程序的运行效率是不合理的,我们可以把这些计算机自身软件、硬件的影响因素忽略,只认定某一特定的程序的运行中,只关注其选择的数学算法.因此,如果在操作过程中利用优化的算法,必将会将计算机程序的运行使用的时间缩短,从而提高计算机执行程序操作命令的效率,其实,这也是利用计算机进行编程的关键环节.

选择高效的数学算法是计算机编程优化的重要环节,衡量一个优化高效的算法,我们从以下两个方面来看即两个方面的复杂程度:时间的复杂度和从空间的复杂度.对于同一个问题,我们当然可以利用不同的数学算法进行解答,一个算法选择的好与劣会直接影响到计算机程序运行的效率.所以,在编程的过程中,就要考虑到所选择的数学算法对计算机程序运行效率的影响,不可以单单将数学算法草草地与程序的编写联系到一起,要做到将两者紧密结合在一起,进一步实现实际所需要的理想的计算机运算效果.

接下来,我们就把实际要解决的问题为例,创建一个数学模型,在计算机编程中进行操作,寻求一个能使问题又复杂变简单,并且能够经过不断地尝试演算,寻求最优的数学算法的过程演示:

我们要解决的实际问题:1×2×3×等×n计算到最后我们能得到的结果数末尾有多少个0?(其中的N的取值范围为大于1000小于10000)即:如果我们把n分解成b×10x的形式,在这其中b为不能被10整除的正整数,此时x的值是多少?

针对此题,基于计算机计算速度较快,一般我们首先考虑的是先求出1×2×3×等×n这组数的数值,然后在数出后面0的个数就可以了,但是我们不能忘记计算机的长整型只能表示出十位有效的数字,然而,此处n的取值范围在1000至10000之间,有上万位数,那我们就得考虑计算机是否能表示出呢?可想而知此方法不可行.除此我们要寻求一个可行的最优数学算法对这个问题进行解决.

第一种方法:1×2×3×等×n,每进行一次运算要进行一次判断,当出现后面为0时就把0去掉,在旁边记录下去掉的0的个数.只是计算出0的个数,不用计算前面的那些数值,为防止出现计算机的表示范围,我们就把之前与0没有关系的的数字略去,只保留着几位有效数字,这样在从1乘到n次计算完后就算出了有几个0了.我们就用计算机中C++语言编写核心代码如下:

通过这个方法我们计算出了最后的结果,但是我们发现该方法计算过程中运行的程序次数较多,并且我们发现在该问题1×2×3×...×n中,有些数字的计结果是不能生成0的.其实这些数字是可以不考虑的,仔细观察我们发现相乘能生成0的只有2或者5的倍数,至此我们分析发现该方法不是最优的数学算法.

第二种方法:我们通过观察发现,该问题中能够生成0的,只有2×5,4×5,6×5,8×5,我们进一步观察发现,真正关系到生成0的只有5的倍数,这些数中含2的数与含5的数相比比较多,这样我们就得出:n的分解数中包含多少个5,那我么就可以得到结果了.通过这种方法,我们可以将把上一种方法的运行程序减少为五分之一:

我们采用该方法是考虑分解数n中包含几个5就包含几个0,基于此,我们直接算出5的个数,那么我们就可以更加简捷地求出0的个数了.所以说该方法较第一种方法简捷些,但是不足之处是还不是最优的,我们再进一步寻求最优的算法.

第三种方法:经过分析我们得出直接求出5的个数就可以求出0的个数,那么我们先以5为步长,开始一次循环,然后求出5的个数,通过第一次计算,我们发现可以把之前的,10,15,20,25,30等变成1,2,3,4,5,6等然后再以5的2次方为步长,再进行第二次循环,计算含有5的2次方的数有几个,经过第一次计算后,25,50,75,100,125,等这些数变成5,10,15,20,25,等再经过第二次计算后就变成1,2,3,4,5,6等再以5的3次方为步长,重复上面的计算过程,直到步长大于或者等于n时停止,最后我们得到的结果就是每一次循环计算出的5的各次方数的个数之和.

通过这三种方法,我们可以看到从第一种方法到第三种方法,一种比一种简单,优化,第一种方法外循环次数为n次,第二种方法使得次数减少了4/5,两者里面均还有内循环.然而第三种方法简单的多了取整次循环即可.从这三种方法我们可以看出,一个优化数学算法对计算机编程具有很大的影响,可以说直接关系到计算机编程质量的优劣.就上述问题我们可以取n值为100,然后加以验证上述三种方法,就其再次优劣进行实例验证,第一种方法需要外循环的次数为100次,第二种只需要20次,但是第三种只需要3次就可以,依次递推,当n的取值越大三种方法的差异就越大.

就当今高校计算机系课程设计来看,与数学系的课程设计相类似,基于此说明计算机和数学的联系极为密切.在计算机编程中与数学有关的内容主要包括:图论、数据处理、线性代数、概率分布等.在对计算机软件、硬件进行开发的过程中,要求开发者必须具备一定的数学知识,并且还要有较强的逻辑思维能力,空间思维能力和抽象思维能力,然而这些思维能力的建立与培养与数学是分不开的.

3.结语

本文从国内研究现状、水平及其发展趋势和研究的目的、意义及用途进行分析研究,并且以实例进行对比分析了数学算法的选择对计算机编程优化的影响.数学算法是数学学习中较为简捷的计算方法,利用此算法可以大大降低数学计算量,利用这种数学算法思想,可以使得极其复杂的问题变得简单,降低计算的难度,大大提高了计算效率,提高工作质量.基于此特点,在计算机编程中可以充分利用数学算法,设计出计算机编程逻辑分析过程,利用数学算法可以将复杂的逻辑编程简单化,从根本上解决计算机编程中重复编译的问题,提高计算机编程的效率,使得计算机编程得以优化.

参考文献:

(1)杨晨.PAR在数学算法中的应用[J].电脑知识与技术,2010(07).

(2)王春茹.数学算法在工程领域应用的简述[J].硅谷,2009(19).

(3)李耀波.DSP环境下C语言的编程优化[J].黑龙江科技信息,2007(23).

(4)李丰.在VC++6.0的环境下逐步求精实现编程优化[J].河南教育学院学报(自然科学版),2006(03).

(5)黄红霞.浅谈基于数学算法的C程序编程技巧[J].科技信息,2013(02).

(6)余振华.基于UG平台对测量数据剔除坏点的一种算法在逆向工程中的应用[J].现代机械,2012(03).

(7)杨文泰.古希腊数学理性思想与中国古代数学算法思想比较研究的综述[J].甘肃联合大学学报:自然科学版,2011(03).

算法计算机范文

计算机算法设计与分析参考文献总结:

关于对写作算法计算机论文范文与课题研究的大学硕士、相关本科毕业论文算法计算机论文开题报告范文和相关文献综述及职称论文参考文献资料下载有帮助。

计算机算法对程序设计的作用,算法计算机论文,关于数学算法对计算机编程优化相关参考文献资料-免费论文范文...相关推荐

  1. 恰当应用计算机提高课堂教学效率,教学多媒体论文,关于计算机辅助英语教学需要增强实效性相关参考文献资料-免费论文范文...

    导读:本文关于教学多媒体论文范文,可以做为相关参考文献. 摘 要:计算机辅助教学能扩大教学容量,激发学习兴趣,更好地创设学习情境,提高课堂教学效率.但若运用不当会产生过度依赖,内容过多,重点不突出,无 ...

  2. 柴油机计算机故障,柴油机故障论文,关于6105小型高速柴油机常见故障处理相关参考文献资料-免费论文范文...

    导读:此文是一篇柴油机故障论文范文,为你的毕业论文写作提供有价值的参考. (武汉船舶职业技术学院 湖北武汉 430050) 柴油机故障诊断与排除:沃尔沃柴油机维修︱电控柴油机故障 摘 要:柴油机,顾名 ...

  3. 计算机与数学文化论文参考文献,数学文化论文,关于让“数学文化”的渗透于不知不觉相关参考文献资料-免费论文范文...

    导读:本文关于数学文化论文范文,可以做为相关参考文献. [摘 要]数学文化是在人类发展的历史中逐渐形成的特有文化,是人类文化的重要组成部分.新课标中进一步倡导数学与人类社会的密切联系.因此,数学应该作 ...

  4. 浅析计算机在医学方面的应用,医学计算机论文,关于医学领域中计算机技术的应用相关参考文献资料-免费论文范文...

    导读:该文是关于医学计算机论文范文,为你的论文写作提供相关论文资料参考. (昆山市第六人民医院 江苏昆山 215321) 摘 要:信息产业作为作为一个新兴的产业,它呈现出了自己独特的生机和活力.随着计 ...

  5. 计算机音乐论文3000字,音乐电脑论文,关于电脑音乐制作的现状、相关参考文献资料-免费论文范文...

    导读:本文关于音乐电脑论文范文,可以做为相关论文参考文献,与写作提纲思路参考. 赵春 电脑音乐产生于20世纪80年代,是现代科技与艺术的完美结合.近年来随着电脑音乐软件的不断发展,电脑硬件系统的不断更 ...

  6. 计算机服务器虚拟化参考文献,虚拟服务器论文,关于基于华为FusionCompute应用服务器虚拟化管理系统相关参考文献资料-免费论文范文...

    导读:本论文可用于虚拟服务器论文范文参考下载,虚拟服务器相关论文写作参考研究. (国家新闻出版论文范文831台,浙江 兰溪 321106) 摘 要:阐述了服务器虚拟化技术.虚拟化软件FusionCom ...

  7. 西南大学计算机博士好毕业论文,学位学术论文论文,关于西南大学授予博士学位学术成果相关参考文献资料-免费论文范文...

    导读:本论文可用于学位学术论文论文范文参考下载,学位学术论文相关论文写作参考研究. 西南大学授予博士学位学术成果 要求管理规定(修订稿) 为了加强博士研究生培养,提高学位授予质量,根据<西南大学 ...

  8. 教师和计算机平面设计图谁更好一些,平面设计计算机论文,关于计算机平面设计课程教学策略对中职生就业的作用和意义相关参考文献资料-免费论文范文...

    导读:主要论述了平面设计计算机论文范文相关参考文献文献 (江苏省南京市玄武中等专业学校,江苏 南京 210000) [摘 要]随着信息技术的发展,计算机教学受到了广泛的关注,在此基础上,应社会及行业需 ...

  9. 电子商务就是计算机技术在传统商务中的应用,数据计算机论文,关于计算机Web数据其在电子商务中的应用相关参考文献资料-免费论文范文...

    导读:这是一篇与数据计算机论文范文相关的免费优秀学术论文范文资料,为你的论文写作提供参考. 摘 要:近年来,网络技术和数据库技术在不断地向前发展,这期间就产生了一种能有效.及时地为现代电子商务企业提供 ...

最新文章

  1. 哈佛最受学生欢迎的CS50课程来啦!「撕书教授」在家录了一套4K网课
  2. 修改MD5加密 提高网站安全
  3. SNMP功能开发简介 三 使用DEBUGMSG打印指定的信息
  4. 让面试官颤抖的 HTTP 2.0 协议面试题
  5. AE开发中关于 “无法嵌入互操作类型.........请改用适用的接口”问题的解决方法...
  6. 史上最全 BAT 大厂面试题整理
  7. C++生成指定范围内的随机数
  8. js数组往队头添加数据、js数组从队头移出数据
  9. Nginx - 限制并发、限制访问速率、限制流量
  10. 『MCSE 2008系统管理视频』Unit 5 域用户与组的管理 第2讲 mcse 2008
  11. tpac100控制器设置教程_AC100基站控制器配置说明
  12. 微信报修小程序源码(近期维护V3.1.0)
  13. 2022.07.25 学习笔记
  14. java实战——个人日常事务管理系统
  15. 谷歌开源 ClusterFuzz,自动化查找并修复 bug
  16. Web前端——移动端页面开发
  17. 在虚拟机里虚拟打电话的代码
  18. shell 判断网线插拔_shell脚本自动检测网络掉线和自动重连
  19. 养猪还是养羊,刀杀还是电击?
  20. 如何在 fibos 上创建快照和使用快照启动节点

热门文章

  1. 【configure】如何用automake、autoconf指令生成configure并创建自己的linux tar.gz安装包【初级篇:简单建立-测试】
  2. 深度学习与神经网络概述
  3. Python生态概览(三):图形用户界面开发库、游戏开发库、虚拟现实库、图形艺术库
  4. navicat的字符集和排序规则
  5. listview的简单实现
  6. linux安装qq_Windows和Linux的比较
  7. JAVA学习-JAVA实现客户端与服务器端的TCP通信
  8. 虚拟现实设备排行榜(2016年3月27日)
  9. 常州新北区华为云_常州高新区召开大数据时代健康产业创新大会
  10. 使用ViewModel模式简化WPF TreeView