第0章 课程概况(1-算法的精美).pdf

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

课程介绍 课程介绍 程序和算法 大型软件= 软件工程的原则+数据结构+算法 小型程序= 数据结构+算法 Algorithm + Data Structure = Programming 什么是数据结构? 区分:什么是数据结构? 区分: 什么是算法? 什么是算法? 什么是程序? 什么是程序? 几个实际算法例子 几个实际算法例子 Hanoi塔问题 T(n) = 2 T(n−1) + 1,T(1) = 1,解得T(n) = 2n −1,64 个盘子要多少时间?T(64)=2^64-1= 18446744073709551615 (1秒移1个,5849亿年)  Reve难题:Hanoi塔变种,柱数增加,允许盘子相 等.  其他变种:奇偶盘号分别放置 几个实际算法例子 几个实际算法例子 搜索问题 输入:数组L,x 输出:x是否在L中?如果在,输出它的下标 排序问题 输入:n个数 输出:按递增顺序排好的n个数 选择问题 输入:n个数的集合S,正整数k(1≤k≤n) 输出:S中第k小的数 现有的算法中哪个算法最好? 是否存在更有效的算法? 几个实际算法例子 几个实际算法例子 背包问题 0-1背包问题 单机多任务调度 多机多任务调度等问题 …… 资源分配类问题:最小代价 又符合分配规则 几个实际算法例子 几个实际算法例子 马的Hamilton周游路线问题 棋盘m*n上有只国际象棋马(|m-n|=2,且m和n均为大于5 的偶数),恰好走过除起点外任何其他位置各一次, 最后回到起点的一条Hamilton周游路线 小规模问题,如6*6,6*8,8*8,8*10,10*10,10*12等都可 以用回溯法找到 大规模问题,m*n (|m-n|=2,且m和n均为大于5的偶 数),可采用分治算法,将棋盘进行分割解决 N皇后问题 N*N的棋盘上放置N个国际象棋皇后,使得皇后们不相互 攻击。 几个实际算法例子 几个实际算法例子 几何类的问题 最短路径 最远点对(凸壳) 平面/空间中最接近点对 图的最优顶点覆盖(支配性问题) 判断一个图形是否在另一个图形之内 求交点或求图形的重叠部分 几个实际算法例子 几个实际算法例子 NP完全问题 迄今为止无人能找出NP完全问题的有效解 法,也无法证明其有效解法不存在,即NP 完全问题是否存在有效解法是未知的 已证明NP完全问题集中任何一个若存在有 效解法,该集中其余问题都存在有效解法 对一些问题的近似算法,通常是有效算法 几个实际算法例子 几个实际算法例子 巡回售货员(货郎担问题)  好的算法 提高求解问题的效率 节省存储空间  需要解决的问题 问题→寻找求解算法 算法设计技术 算法→算法的评价 算法分析技术 算法类→问题复杂度

文档评论(0)

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

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

1亿VIP精品文档

相关文档