算法Lecture1.pptVIP

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法设计与分析演示稿 现在我们把这个问题推广到N(N≥4)个人过桥的情况:如果有N个旅行者,假设他们有各自所需的过桥时间(正实数)。在只有一只手电筒的情况下,要过上述的一条桥,怎样才能找到最快的过桥方案? 以下是构造N个人(N≥1)过桥最佳方案的方法: 1) 如果N=1、2,所有人直接过桥。 2) 如果N=3,由最快的人往返一次把其他两人送过河。 3) 如果N≥4,设A、B为走得最快和次快的旅行者,过桥所需时间分别为a、b;而Z、Y为走得最慢和次慢的旅行者,过桥所需时间分别为z、y。那么  当2b>a+y时,使用模式一将Z和Y移动过桥;  当2b<a+y时,使用模式二将Z和Y移动过桥;  当2b=a+y时,使用模式一将Z和Y移动过桥。 模式一:A,B去,A回,Z,Y去,B回 模式二:A,Z去,A回,A,Y去,A回 这样就使问题转变为N-2个旅行者的情形,从而递归解决之。 举一个具体的例子:七个旅行者,所需过桥时间分别是1、4、5、5、5、8、9分钟。   算法设计与分析 “算法设计与分析”是研究算法的一门学科。它还很年轻远未定型,还处在发展中。有人说“计算机科学是一门研究算法的科学”。不论这个说法是否全面,算法无疑是计算机科学的重要组成部分。它近来发展极其迅速。“算法设计与分析”已是计算机专业本科生的一门必需掌握的内容。 算法设计与分析 课程教材: 王晓东, 《计算机算法设计与分析》,电子工业出版社,2001年 参考书目: T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein. Introduction to Algorithms, 2nd edition, The MIT Press, 2001. (2002年5月高等教育出版社出版影印版) Sara Baase等. 计算机算法-设计与分析导论(英文影印版).高等教育出版社,2001.7 卢开澄. 计算机算法导引-设计与分析.清华大学出版社,1998.3 怎样才能学好算法 这个问题回答起来,基本上很难。正如回答如何才能学好C++一样。个人的几点建议: 首先要学好数学,有高等数学、高等代数、离散数学、数据结构等方面的基础。 然后多看一些代码,研究它的算法。多练习一些算法的实现。 另外,算法是需要经验的,也是一个很吃基本功的东西,好的算法是在通过扎实的基本功和潜心的研究得到的。正如想要下好围棋,你需要首先掌握围棋的基本技法,然后可以先记住一些定式、死活技巧,最重要是不停的下,从中学习经验。 最后,多看一些趣味题,甚至脑筋急转弯的题目。很多看似和算法无关的东西其实都可以影响你的思维方法,例如36计。 算法是一种解决问题的思路,算法不用学,大家都会,因为解决问题的思路大家都有,只是有好和坏的区别罢了 ,我们学习算法目的是提高我们思考问题的能力,不说要当个象高斯一样的数学家,至少要比那些没学过算法的人聪明一点点。 算法设计与分析 关于用计算机解决问题 电子计算机的出现是本世纪的一件大事,因为它改变了我们这个世界的面貌。可以毫不夸张地这么说,今天人们依赖于计算机,就象人们依赖于电力,如果它暂停了,社会就无法运转。 快速电子计算机贵在神速,也就是它的运算速度快,同时它的发展之迅速也是惊人的。从每秒5000次运算,发展到现在的运算速度每秒数千亿次运算。元器件从继电器、真空管、晶体管、集成电路、大规模集成电路,发展到超大规模集成电路。结构上从每台机器作为运算工具的“单兵作战”模式,发展到今天将范围遍及各大洲的计算机网络,算法也从单机的串行计算发展到网络上并行的分布计算。 一台作109次/秒运算(1G)的计算机的效率超过10亿人同时工作。它可以作中期的天气预报,可以控制庞大的化工厂生产过程,以至于还可以驾驭现代化战争,从这个意义上来说它确实是近乎神奇的。不过必须强调的是这些都是在人的安排下进行工作的。比如人们利用计算机作天气预报,必须依据天气变化规律,作出它的偏微分方程数学模型,以及编好程序,指导计算机按照人的安排一步步地工作,计算预报数据,绘制气象云图。 这就是说,计算机虽然神通广大,还是在人的控制下工作。同时还应说明计算机并非什么都能做,有的事情理论上它根本做不了。讨论哪些事计算机能做,哪些事计算机做不了,属于可计算性理论研究的范畴。还有一些问题理论上计算机虽是能做,但实际上又是不可能完成的。 比如拿最简单例子,26个英文字母全排列,它的排列数为: 26!≈4×1026

文档评论(0)

wangshirufeng + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档