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

第一章讲 算法概述.ppt

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

算法设计与分析导论 ;第1章 算法概述; 电子计算机的出现是本世纪的一件大事,因为它改变了我们这个世界的面貌。可以毫不夸张地这么说,今天人们依赖于计算机,就象人们依赖于电力,如果它暂停了,社会就无法运转。 快速电子计算机贵在神速,也就是它的运算速度快,同时它的发展之迅速也是惊人的。从每秒5000次运算,发展到现在的运算速度每秒数千亿次运算。元器件从继电器、真空管、晶体管、集成电路、大规模集成电路,发展到超大规模集成电路。结构上从每台机器作为运算工具的“单兵作战”模式,发展到今天将范围遍及各大洲的计算机网络,算法也从单机的串行计算发展到网络上并行的分布计算。; 一台作109次/秒运算(1G)的计算机的效率超过10亿人同时工作。它可以作中期的天气预报,可以控制庞大的化工厂生产过程,以至于还可以驾驭现代化战争,从这个意义上来说它确实是近乎神奇的。不过必须强调的是这些都是在人的安排下进行工作的。比如人们利用计算机作天气预报,必须依据天气变化规律,作出它的偏微分方程数学模型,以及编好程序,指导计算机按照人的安排一步步地工作,计算预报数据,绘制气象云图。 这就是说,计算机虽然神通广大,还是在人的控制下工作。同时还应说明计算机并非什么都能做,有的事情理论上它根本做不了。讨论哪些事计算机能做,哪些事计算机做不了,属于可计算性理论研究的范畴。还有一些问题理论上计算机虽是能做,但实际上又是不可能完成的。; 比如拿最简单例子,26个英文字母全排列,它的排列数为: 26!≈4×1026 以每年365天计算,共有 365×24×3600=3.1536×107秒 以每秒能完成107个排列的超高速电子计算机来做这项工作,需要 4×1026/(3.1536×1014)≈1.2×1012年 即使计算机运行速度随着技术的提高,恐怕也还是不可能实现的。因计算机的速度再提高也有它的极限。 ; 任何一项计算,总要事先拟定计算方案和规划计算步骤。为使计算机的计算过程能够解决某一问题,必须为计算机设计执行的解决方案中的每个详细步骤,并且将此过程完整地描述出来。所谓算法是对某个问题求解方案的完整而明确的描述。 与算法有关的还有一个大家熟悉的公式: 程序=算法十数据结构 也就是说,算法设计和程序设计是不完全相同的。由于数字计算机运算速度很高,是人工手算所不能比拟的。为了充分发挥计算机的这种优点,在用计算机求解问题过程中,应尽量减少人工干预。因此,必须先将所制定的解决方案“告诉”计算机,使计算机按照人们规定的计算顺序去自动执行。用计算机能接受的“语言”来描述解题步骤,这项工作叫做程序设计,它还包含了需要使用合适的数据结构。; “算法设计与分析”是研究算法的一门学科。它还很年轻远未定型,还处在发展中。有人说“计算机科学是一门研究算法的科学”。不论这个说法是否全面,算法无疑是计算机科学的重要组成部分。它近来发展极其迅速。“算法设计与分析”已是计算机专业本科生的一门必需掌握的内容。 1.一些有趣的问题 (1) 巡回推销员问题:设有n个城市,已知任意两城市间之距离,现有一推销员想从某一城市出发巡回经过每一城市(且每城市只经过一次),最后又回到出发点,问如何找一条最短路径。;设距离矩阵如下: ; (3)设天平有一些25克的砝码,一些10克的砝码,一些5克的砝码和一些1克的砝码。现要称63克的物体,问至少需要用几个砝码。 (4)背包问题1:有一旅行者要从n种物品中选取不超过b公斤重的行李随身携带,要求总价值最大。 例:设背包的容量为50千克。物品1重10千克,价值60元;物品2重20千克,价值100元;物品3重30千克,价值120元。求总价值最大。 (5)背包问题2:设有n=8个体积分别为54,45,43,29,23,21,14,1的物体和一个容积为C=110的背包,问选择哪几个物体装入背包可以使其装的最满。 ; (6)装箱问题:设有体积分别为v1,v2,…,vn的n种物品u1,u2,…,un装到容量为L的箱子里。不同的装箱方案所需的箱子数目可能不同,问如何装箱能装完这n种物品且使用的箱子数目最少。 (7)平面图的四色猜想问题:一个平面图是否用四种颜色就可使相邻的区域颜色都不相同? ;2.研究算法的重要性 假设某一负责人交给你一个很难的任务,几天后询问你问题解决了没有。可能会发生如下图这样的情况: ;问:“交给你的问题,解决方案设计出来了吗?” 答: “我找不到一个有效的算法来解决它,因为 这样的算法是不存在的。” (不过,要证明一个问题不存在有效算法,往往跟寻找有效算法一样难。);问:“交给你的问题,解决方案设计出来了吗?” 答: “我找不到一

文档评论(0)

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

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

1亿VIP精品文档

相关文档