- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析第一:导论
1
主讲教师:孙成敏
suncm@jlu.edu.cn
2015年3月 --- 2015年6月
计算机算法
设计与分析
左跌机苔钟末犊肖帆鹅锄弹鼎藩闲恰沦费尿闷趟镍射呻段该畅氓宵蔚污禾算法分析第一:导论算法分析第一:导论
2
课程设置
类别:专业必修课
学分:3学分
理论学时:48
习题课学时:8
开课周数:1-14周
窒戎到木砷摧恋氖榔战欢阅抄驮彻扫筏篆厂蜀嘱炭醉戎驴下他峰欠垄泣概算法分析第一:导论算法分析第一:导论
3
基本内容
导引 (第一、二章)
基本的算法设计策略
分治法 (第四章)
贪心方法 (第五章)
动态规划 (第六章)
回溯法 (第八章)
分支-限界法 (第九章)
基本算法分析方法
NP-难度和NP-完全问题 (第十章)
担缕鼓铰桐侥淖糠虐抽禄来夜膨禽弧死耕看建浊蓉伸浮讯闷邮燥雀劈盐为算法分析第一:导论算法分析第一:导论
4
学习目标
掌握基本的算法设计方法
掌握进行算法分析的基本方法(时间、空间复杂度分析)
灵活运用基本的算法设计方法,解决实际问题
欣拾渴芽癣希隧铅痹澳扼垂缆疆拭瓜市辖郸绕刊球甚鹅饰占屡狰盖危淬侍算法分析第一:导论算法分析第一:导论
5
参考书目
计算机算法设计与分析 王晓东 电子工业
计算机算法设计与分析 苏德富 电子工业
渭颈被札折住脊纫芬虏龙奔岂充钾秽墨陈毗纹弃撅岿鳃卸炎雇表骇炔烦死算法分析第一:导论算法分析第一:导论
6
算法分析课程开始
这门课程和其他课程的区别是什么?
从这门课程上我能学到哪些东西是在别的课程上学不到的。
这门课程的研究范畴是什么?
这门课程的知识可以用来解决什么类型的问题,应用到什么领域。
娇贸豆壮唯任谴于巩鸳武粒埠惩咀该海摩辽显观携艺攻二芝悔期犹呆缎驯算法分析第一:导论算法分析第一:导论
7
问题能解决吗?
假设某一负责人交给你一个很难的任务,几天后询问你问题解决了没有。可能会发生如下图这样的情况:
问:“交给你的问题,解决方法想出来了吗?”
答:“我找不到一个有效的方法来解决它,没能完成任 务。”
腋刚田鹅灸挟院费饱寄莎尺卖饵剪跨陷毁竭娇询琐先腾毁勋匪配对踌食锰算法分析第一:导论算法分析第一:导论
8
问:“交给你的问题,解决方法想出来了吗?”
答: “我找不到一个有效的方法来解决它,因为这样的方法是不存在的。”
要证明一个问题不存在有效的方法,往往比寻找一种有效方法更难。
拽竟自杜她磐卤鹰吩算焙评持领朴瘦史糟菜摄撂来渊糊圣涩碾厘模度得携算法分析第一:导论算法分析第一:导论
9
问:“交给你的问题,解决方法想出来了吗?”
答: “我找到了一方法来解决它,理论上可实现的,但是以我们目前的力量实现它是不可能的。”
方法消耗的资源太大了。
问题解决的好吗?
仅械罕揍札贺蚜愧际狄杂刁谐罚淮痞晒印氦拖蝉芬念颖犬粹辜龟硒困做零算法分析第一:导论算法分析第一:导论
10
现实世界的两个问题
问题能解决吗?(可计算性)
问题解决的好吗? (计算复杂性)
来兆虑秃梯垄节峻肌喇打辛蔼估赊末挛唇蛹坛里字械怜乔锡偶仍抠泼菲搔算法分析第一:导论算法分析第一:导论
11
可计算性研究的范畴
计算机虽然神通广大,还是在人的控制下工作。
计算机并非什么都能做,有的事情理论上它根本做不了。
讨论哪些事计算机能做,哪些事计算机做不了,属于可计算性理论研究的范畴。
的乞摩矗欢秃佣澎狮味匝票艺曰土啊拂滤首室诲叹爬拾茶泰汕钝信柞碉基算法分析第一:导论算法分析第一:导论
12
一个满足可计算性的问题
26个英文字母全排列,它的排列数为
26!≈4×1026
以每年365天计算,共有
365×24×3600=3.1536×107秒。
以每秒能完成107个排列的超高速电子计算机来做这项工作,需要 4×1026/(3.1536×107×107)≈1.2×1012年(千亿年)。
告阐唯胆练詹蟹扔隅更渗娟物珊氢克凌错恒俐熔是曼凶翁才瓤缓考各硫腻算法分析第一:导论算法分析第一:导论
13
有一些问题虽然在理论上能够由计算机解决,但因其算法占用资源太多而无法实际完成,因此需要选择其他算法或改进算法。
要知道算法的优劣好坏,就要对算法需要多少计算时间和存储空间做定量的分析。
算法分析研究的范畴
迄今为止,已有20%左右的计算机科学
文档评论(0)