Lecture1-算法导论.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  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文档。上传文档
查看更多
算法导论 高文宇 gwyy@163.com Tel为什么研究算法和性能 算法帮助我们理解可伸缩性,Scalability。 性能是可行和不可能的界限,Feasible or Impossible。 对速度的追求,Speed。 我们的目标 参加ACM-ICPC竞赛 从事算法开放问题的研究 思维锻炼 NP为什么如此重要 迄今为止,既没有找到NP问题的有效解法,也没能证明NP问题不存在有效解法。 NP完全问题中的任意一个若存在有效解法,则其它NP完全问题都存在有效解法。 有几个NP完全问题类似于(但不完全相同)一些有着有效解法的问题。对一个问题陈述的微小改动就会对其已知最佳算法的效率带来很大的变化。 Non-deterministic Polynomial NP问题的历史 P/NP问题是在理论信息学中计算复杂度理论领域里至今没有解决的问题,它被“克雷数学研究所”(Clay Mathematics Institute,简称CMI)在千禧年大奖难题中收录。P/NP问题中包含了复杂度类P与NP的关系。1971年史提芬·古克(Stephen A. Cook)和Leonid Levin相对独立的提出了下面的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。 来自NP问题的趣闻 普林斯顿大学计算机系楼将二进制代码表述的“P=NP?”问题刻进顶楼西面的砖头上。如果证明了P=NP,砖头可以很方便的换成表示“P=NP!”。 康奈尔大学的Hubert Chen博士提供了一个玩笑式的P不等于NP的证明:“反证法。设P = NP。令y为一个P = NP的证明。证明y可以用一个合格的计算机科学家在多项式时间内验证,我们认定这样的科学家的存在性为真。但是,因为P = NP,该证明y可以在多项式时间内由这样的科学家发现。但是这样的发现还没有发生(虽然这样的科学家试图发现这样的一个证明),我们得到矛盾。 对P和NP的猜测 倾向P≠NP的主要论据是在穷尽搜索的领域完全没有本质进展。也就是说,以我的观点,一个很弱的论据。算法的空间是很大的,而我们只是在开始探索的起点。[ . . . ] 费马最后定理的解决也显示非常简单的[sic]问题可能只有用非常深刻的理论才能解决。 —摩西·瓦迪(Moshe Vardi),莱斯大学 过分依赖某种投机的猜測不是规划研究的一个好的导引。我们必须总是尝试每个问题的两个方向。偏见可能导致著名的数学家无法解决答案和他们的预计相反的著名问题,虽然他们发展了所有所需的方法。 —Anil Nerode, 康奈尔大学 课程主要内容 动态规划 贪心算法 图算法 密码学与素数算法 字符串匹配 NP理论 近似算法 学习方法及要求 课堂讲授及实验 (1)理解算法 (2)用Java或C语言编程实现 (3)学会用算法解决问题 有用的资源 CSDN以及算法、程序相关的技术论坛 ACM程序设计竞赛的相关网站 “算法导论”作者的主页 算法研究者的主页 几本有用的书 算法导论,Thomas H. Cormen 算法设计,Jon Kleinberg C算法,Java算法,Robert Sedgewick 图论导引,Douglas B. West 计算理论导引,Michael Sipser 图论及其算法,殷剑宏 排序问题—插入 Insertion Sort 排序问题—分治 分治策略:将原问题划分成 n 个规模较小而结构与原问题相似的子问题,递归地解决子问题,然后合并其结果,就得到原问题的解。 排序问题—Merge 分治的例子—Merge Sort 实际问题的算法策略 一堆无序的作业本如何尽快排好序? 算法分析的类型 最坏情况分析,Worst-case: (usually) ? T(n) = maximum time of algorithm on any input of size n. 平均性能分析,Average-case: (sometimes) ? T(n) = expected time of algorithm over all inputs of size n. ? Need assumption of statistical distribution of inputs. 最好情况分析,Best-case: (bogus) ? Cheat with a slow algorithm that works fast on some input. 排序问题—Quick Sort Quick Sort应用 在一组无序数中找出第 k 大的数。 在10000人参加的比赛中取前100名。 递归式 当一个算法包含对自身的递归调用时,其运行时间可以用递归式(Recurrence)来表示。递归式是一组等式或不等式,它所描述

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档