网站大量收购闲置独家精品文档,联系QQ:2885784924

计算机导论课件5剖析.ppt

  1. 1、本文档共159页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机导论课件5剖析

第3章 计算机软件系统 《计算机导论》 5.1 算法与数据结构 一、算法的概念 (一)算法的定义 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。 对算法的研究主要包括两方面内容: 一是如何设计算法,常用的算法设计方法有分治递归、贪心法、回溯法、动态规划、分支限界等; 二是对给定算法,如何分析它的效率和性能。 5.1 算法与数据结构 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题它能产生整体最优解或者是整体最优解的近似解。 5.1 算法与数据结构 回溯法(探索与回溯法)是一种选优有哪些信誉好的足球投注网站法,按选优条件向前有哪些信誉好的足球投注网站,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 回溯算法也叫试探法,它是一种系统地有哪些信誉好的足球投注网站问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。 5.1 算法与数据结构 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。 与分治法最大的差别是:适合于用动态规划法求解的问题,经分解后得到的子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。 5.1 算法与数据结构 分支限界法常以广度优先或以最小耗费(最大效益)优先的方式有哪些信誉好的足球投注网站问题的解空间树。 在分支限界法中,每一个活结点只有一次机会成为扩展结点。活结点一旦成为扩展结点,就一次性产生其所有儿子结点。在这些儿子结点中,导致不可行解或导致非最优解的儿子结点被舍弃,其余儿子结点被加入活结点表中。 此后,从活结点表中取下一结点成为当前扩展结点,并重复上述结点扩展过程。这个过程一直持续到找到所需的解或活结点表为空时为止。 分支限界法与回溯法的不同:(1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。 (2)有哪些信誉好的足球投注网站方式的不同:回溯法以深度优先的方式有哪些信誉好的足球投注网站解空间树,而分支限界法则以广度优先或以最小耗费优先的方式有哪些信誉好的足球投注网站解空间树。 5.1 算法与数据结构 (二)算法的特征 有穷性、确定性、可行性、输入、输出。 (1)有穷性:一个算法必须总是(对任何合法的输入值)在执行有限步之后结束。换言之,任何算法必须在有限时间内完成。而且每一步都可在合理的有穷时间内完成。 (2)确定性:算法中的每个步骤都必须有明确的定义,不允许存在多义性和模棱两可的解释。 (3)可行性:算法中描述的每步操作都应是可执行的。例如,当B=0时A / B 就无法执行,不符合可行性的要求。 (4)输入:一个算法必须有0个(自动生成初始数据)或多个输入。 (5)输出:一个算法必须产生一个或多个输出信息。 5.1 算法与数据结构 二、算法的基本元素 变量、赋值、分支、循环、过程 (一)变量 基本概念: 把算法中代表某个具体数值、并可以改变其数值的符号称作变量。 变量可以用一个或若干个字符符号来表示。例如,在求解两个整数的最大公约数问题的算法中,符号M、N、R就是三个变量。 5.1 算法与数据结构 (二)赋值 在算法中,赋值是实现给变量赋值、或对变量中的数值进行修改的一种操作。 用符号ASSIGN表示赋值,赋值语句格式为: ASSIGN name value 表示把数值value赋给变量名为name的变量。 ASSIGN name valueExpression 表示把一个表达式valueExpression的运算结果 (其值为一个确定的数值)赋给变量名为name的变

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档