- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对计算机算法的认识.doc
对计算机算法的认识
【摘要】随着计算机的发展和普及,我们现在越来越依赖计算机帮我们完成各种工作,通常我们会设计一些程序来解决问题,一个程序通常是由算法和数据结构共同构成,算法是用来解决“做什么”和“怎么做”的问题,它是一个程序的灵魂,只有明确清晰地知道解决问题的方法,我们才能设计解决步骤,才能完整地解决问题。算法可以是纯理论的,也可以由一个计算机程序实现。
【关键字】算法、概念、性质、设计
引言
算法是一个既熟悉又陌生的概念,说熟悉是因为我们从小就开始接触它,例如小学就学习的四则运算法则是先乘除后加减,有括号的要先运算括号里的;竖式的笔算方法、珠算口诀等都可以称作算法;我们从A地去到B地也要走一定的路线,此路线实际上也是一种算法;我们生活中的很多事情都要按照一定的步骤去做,虽然我们有时没有察觉,但是这些步骤其实就是一种算法。说陌生是因为算法的概念是人们在长期的科学探索中不断总结和提炼出来的,算法的多样性使得算法相当的灵活,而且他也是在不断地发展中的,所以要想完全地掌握算法是很难的。
在现代,特别是计算机迅猛发展的时期,算法更是被运用到了计算机的工作中。计算机可以解决很多问题,但是这并不是它本身的作用,必须是由人类给出解决问题的算法步骤,将其变成计算机指令,通过计算机的运算来解决这些问题,所以说算法在计算机中扮演一个相当重要的角色。我们只有深刻地认识到算法的概念,了解多种不同的算法,才能更好地将其运用,使计算机更好的为我们服务。
二、算法的概念
简单来说,算法是一系列解决问题的清晰指令。
举个例子:我们要从天津去上海,我们可以选择坐飞机、火车等方式,我们希望所花时间和金钱最少,假如我们选择做火车,我们可以制定下述步骤:
第一步:查看列车时刻表;
第二步:在列车时刻表中寻找是否有直接从天津到上海的直达车,如果有,我们可以选择该车,则任务完成;
第三步:如果没有,查找所有经过天津的列车,记录下来;
第四步:查找所有经过上海的列车,记录下来;
第五步:将第三、四步查找出来的信息整合,找出重合的交叉点,这个交叉点就是中转站A,我们可以从天津到A,再从A到上海。
这样的出行方法实际也是一种算法,我们选择“做什么”的方式是坐火车,接下来的步骤是在阐述“怎么做”,所以总结一下,算法实际就是对“做什么”和“怎么做”解决方案。
算法不是我们随便想怎么写就怎么写的,算法还具有几个基本特征:①有穷性:既是一个算法包含有限的操作步骤,不能是无限的。如上例,我们不能总是停留在不停地中转当中,应该是要在一定时间内到达目的地的。②确定性:算法的结果必须是正确的。在上例中,如果我们设计的路线不能到达上海,则该算法不具有正确性.。③有效性:算法的每一步都是有用处的。④输入及输出:输入原始数据,输出结果.。像上例中,所有经过天津上海的列车都算是算法的输入数据,而我们得到的出行路线则是输出。我们在脑子里勾画出算法了,但还需要清晰地表达出来,这就涉及到一个算法表示的问题,通常来说,算法有三种表示方法,一是用汉语、英语等自然语言表示,这种方式通俗易懂,但是也具有很大的缺陷,既是文字冗长,很容易出现歧义,而且输入到计算机中似乎也是有点不切实际。
由于这种方法的不足,我们进行改进,产生了流程图法和伪码法等。就我们学习而言,我们使用流程图法较多,顾名思义,流程图就是将算法的步骤一步一步按顺序表示出来,是算法的执行过程,我们可以应用一下来表示上例中的算法:
开始寻找列车时刻表
开始
寻找列车时刻表
查找有无直接从天津到上海的车
可行方案
查找所有经过天津的车,记为A
查找所有经过上海的车,记为BA和B有无重合点
查找所有经过上海的车,记为B
A和B有无重合点
重合点为中转站
没有符合条件的点
结束
三、算法的设计
我们对算法的基本知识有初步的了解后,就可以试着去写一个算法,设计算法的方法有很多种,对于不同的题目要求我们要应用不同的方法以达到快速高效地解决问题。首先了解一些常用的算法:
列举法
所谓列举法就是根据提出的问题,把所有可能的情况列举出来,再用题目中的条件来检查哪些是合格的列举,哪些是不合格的,列举的算法原理简单易懂也比较好用,但是当情况很多的时候用列举法就显的费力不讨好,工作量太大,效率太低了,因此我们要尽量优化方案以减少工作量。许多实际问题是不可能用人工列举的,但是计算机可以,这得力于它的运算速度快,擅长重复操作。虽然此方法比较笨拙,但是局部使用还是很有效的。著名的百鸡问题就是运用穷举法的一个典型。
2、递推法
所谓递推法是从初始条件出发,逐次推出过程中间结果,从而得到最后结果。其实递推在我们学数学时就非常常用,我们一般会去建立一种递推关系,它是一种变量与变量之间的特殊关系。这就好比我们破案,我们一般找到一个点,然后根据这个点顺瓜摸藤,一步一步深入
您可能关注的文档
最近下载
- GB∕T 4513.6-2017 不定形耐火材料第6部分:物理性能的测定.pdf
- 游戏开发职业规划书.docx VIP
- 超全安全隐患规范依据查询手册(2025版)-157页.docx VIP
- 2025医院医疗机构发现疑似病例全流程应急演练方案脚本(详细版).docx
- 安徽省合肥市包河区智育联盟2023-2024学年九年级上学期期末化学试题(含答案).docx VIP
- 加氢精制工艺原理优化.pptx VIP
- 安徽省合肥市包河区智育联盟2023-2024学年九年级上学期期末数学试题(含答案).doc VIP
- 物流企业仓储安全生产应急预案.docx VIP
- 电机与拖动教学教案04三相异步电动机.pdf VIP
- 《施工进度计划案例.doc VIP
原创力文档


文档评论(0)