算法设计与分析.pptx课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《算法设计与分析.pptx课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 设计 分析 pptx 课件
- 资源描述:
-
1、xxx算法设计与分析算法设计与分析辽宁师范大学计算机与信息技术学院辽宁师范大学计算机与信息技术学院计算机科学与技术专业课程计算机科学与技术专业课程Algorithm Design and AnalysisAlgorithm Design and Analysis辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述关于任课教师关于任课教师课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析宋传鸣宋传鸣 讲师讲师u2003年本科毕业于辽宁师范大学计算机科学与技年本科毕业于辽宁师范大学计算机科学与技术系计算机应用技术专
2、业术系计算机应用技术专业,工学学士工学学士u2006年硕士毕业于辽宁师范大学计算机科学与技年硕士毕业于辽宁师范大学计算机科学与技术系计算机应用技术专业术系计算机应用技术专业,工学硕士工学硕士u2010年博士毕业于南京大学计算机科学与技术系年博士毕业于南京大学计算机科学与技术系计算机应用技术专业计算机应用技术专业,工学博士工学博士u2010年年7月回校任教至今月回校任教至今联系方式联系方式u电子邮件电子邮件: u办公室办公室:西山校区第二教学楼西山校区第二教学楼B614 u个人主页个人主页:辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析
3、概述概述关于关于算法设计与分析算法设计与分析课程课程课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析课程性质课程性质u本课程属于专业选修课本课程属于专业选修课(计算机科学与技术计算机科学与技术)、专、专业必修课业必修课(计算机科学与技术计算机科学与技术(动画动画)开设目的开设目的u使学生掌握非数值算法设计的主要方法使学生掌握非数值算法设计的主要方法 u独立设计算法和对算法进行复杂性计算奠定基础独立设计算法和对算法进行复杂性计算奠定基础 u利用所学的算法设计策略解决实际问题的能力利用所学的算法设计策略解决实际问题的能力 学时安排学时安排u48学时学时,每周每周3学时学时,
4、修完课程可获修完课程可获3学分学分u考核方式考核方式考察考察u期末为闭卷笔试期末为闭卷笔试,成绩占总成绩的成绩占总成绩的50%u平时出勤占平时出勤占5%,学期论文学期论文(3篇篇)占占45%(第第4/8/12周周)u试卷题型试卷题型:概念型、设计型、证明型概念型、设计型、证明型辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述关于关于算法设计与分析算法设计与分析课程课程课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析在专业教学计划中的地位和作用在专业教学计划中的地位和作用 u在在IEEE ACM 公布的公布
5、的Computer Science Curriculum 2008与中国计算机学会教育委员会、全与中国计算机学会教育委员会、全国高等学校计算机教育研究会推出的国高等学校计算机教育研究会推出的CCC 2004 (China Computing Curricula 2004-CS)中中,算法设算法设计与分析都是其计与分析都是其核心课程核心课程之一之一u算法设计与分析具有学科核心的重要地位算法设计与分析具有学科核心的重要地位,能够能够充分体现计算机科学方法论的理论、抽象和设计充分体现计算机科学方法论的理论、抽象和设计3个过程个过程,知识面较宽知识面较宽,有一定的深度有一定的深度 u反复再现反复再现计
6、算机科学中用到的典型问题的复杂性、计算机科学中用到的典型问题的复杂性、效率、抽象的层次、重用、折衷等带有效率、抽象的层次、重用、折衷等带有普遍性的普遍性的概念概念 u不仅是计算机科学与技术专业后续课程的理论基不仅是计算机科学与技术专业后续课程的理论基础础,而且还而且还广泛地用于新兴的技术和研究领域广泛地用于新兴的技术和研究领域 辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述关于关于算法设计与分析算法设计与分析课程课程课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析计算思维计算思维(Computation
7、al Thinking) u摘自摘自中国计算机学会通讯中国计算机学会通讯2012年第一期年第一期u理论科学、实验科学、理论科学、实验科学、计算科学计算科学被称为推动人类被称为推动人类文明进步和科技发展的三大科学文明进步和科技发展的三大科学u科学思维包括理论思维、实验思维和计算思维科学思维包括理论思维、实验思维和计算思维p理论思维理论思维以推理和演绎为特征以推理和演绎为特征,如数学学科如数学学科p实验思维实验思维以观察和总结自然规律为特征以观察和总结自然规律为特征,如物如物理学科理学科p计算思维计算思维以设计和构造为特征以设计和构造为特征,如计算机学科如计算机学科u计算思维是运用计算的基础概念去
8、求解问题、设计算思维是运用计算的基础概念去求解问题、设计系统和理解人类行为的一种方法计系统和理解人类行为的一种方法.它合用了数学它合用了数学思维思维(求解问题的方法求解问题的方法)、工程思维、工程思维(设计、评价大设计、评价大型复杂系统型复杂系统)和科学思维和科学思维(理解可计算性、智能、理解可计算性、智能、心理和人类行为心理和人类行为)u计算思维课程现已在部分高校中开启计算思维课程现已在部分高校中开启辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述教材教材(Textbook)(Textbook)课程介绍课程介绍什么是算法什么是
9、算法算法的描述算法的描述算法分析算法分析王晓东编著王晓东编著.计算机算法设计与分析计算机算法设计与分析(第第3版版). 北北京京:电子工业出版社电子工业出版社, 2007. 辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述主要参考书主要参考书(References)(References)课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析M. H. Alsuwaiyel著著,吴伟昶吴伟昶,方世昌译方世昌译.算法设计算法设计技巧与分析技巧与分析. 北京北京:电子工业出版社电子工业出版社, 2010.Thoma
10、s H. Cormer等著等著, 潘金贵潘金贵, 顾铁成等译顾铁成等译. 算算法导论法导论(第二版第二版). 北京北京: 机械工业出版社机械工业出版社, 2010 辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述主要参考书主要参考书(References)(References)课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析The Art of Computer Programming数据结构的开拓者数据结构的开拓者D.E.Knuth的计算机科学发展的计算机科学发展史上的不朽之作史上的不朽之作u第第1卷
11、卷 基本算法基本算法:介绍计算机程序设计的基本算法介绍计算机程序设计的基本算法,包括基本的编程概念和技术以及信息结构包括基本的编程概念和技术以及信息结构-机内机内信息的表示、数据元及其处理的结构关系信息的表示、数据元及其处理的结构关系u第第2卷卷 半数值算法半数值算法:介绍随机数和算术介绍随机数和算术,提供了计提供了计算机编程和数值分析之间的丰富接口算机编程和数值分析之间的丰富接口u第第3卷卷 排序与查找排序与查找:介绍排序和查找的最权威的经介绍排序和查找的最权威的经典技术典技术,扩充了第扩充了第1卷的数据结构卷的数据结构,以处理大小型数以处理大小型数据库及内外部存储据库及内外部存储.本书偏重
12、分析技术本书偏重分析技术,采用汇编采用汇编语言描述算法语言描述算法,是一本本学科最经典最权威的百是一本本学科最经典最权威的百科全书科全书,适合于从事数据结构与算法研究的专家适合于从事数据结构与算法研究的专家阅读阅读辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法设计与分析算法设计与分析课程的主要内容课程的主要内容课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析第一章第一章 绪论绪论第二章第二章 数学预备知识与典型的数据结构数学预备知识与典型的数据结构 第三章第三章 递归与分治策略递归与分治策略 第四章
13、第四章 动态规划动态规划第五章第五章 贪心算法贪心算法 第六章第六章 NP完全问题完全问题第七章第七章 回溯法回溯法第八章第八章 分支限界法分支限界法第九章第九章 随机化算法随机化算法 第十章第十章 网络流算法网络流算法第十一章第十一章 并行算法入门并行算法入门辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法设计与分析算法设计与分析课程的基本要求课程的基本要求课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析培养学习方法与习惯培养学习方法与习惯u上课记笔记上课记笔记u阅读与自学阅读与自学u理论联系实际理
14、论联系实际u查找资料查找资料课上认真听讲课上认真听讲,课后多思考多翻阅资料课后多思考多翻阅资料辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述关于理论计算机科学关于理论计算机科学课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析关于计算机和计算机械的数学理论关于计算机和计算机械的数学理论,也称也称计算理论计算理论u自动机与形式语言理论自动机与形式语言理论u程序理论程序理论u形式语义学形式语义学u算法分析和计算复杂性理论算法分析和计算复杂性理论学科产生学科产生u20世纪世纪30年代年代,人们关注是否存在一种有
15、效过程求人们关注是否存在一种有效过程求解问题解问题,即即问题的可解问题的可解与与不可解性不可解性u如果存在某个模型能够建立一个算法求解问题如果存在某个模型能够建立一个算法求解问题,则则将该问题归入可解的问题类将该问题归入可解的问题类u30年代前期年代前期,哥德尔等创立递归函数哥德尔等创立递归函数u30年代中期年代中期,丘奇的丘奇的演算演算,波斯特的波斯特机波斯特的波斯特机,图图灵的图灵机灵的图灵机u40年代后期年代后期:存储程序型计算机存储程序型计算机(RAM,RASPM)辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法分析
16、与计算复杂性理论算法分析与计算复杂性理论课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析各类具体算法的复杂性的研究称作各类具体算法的复杂性的研究称作算法分析算法分析一般算法的复杂性的研究称作一般算法的复杂性的研究称作计算机复杂性理论计算机复杂性理论计算复杂性理论原是可计算理论的一支计算复杂性理论原是可计算理论的一支,是是以各种以各种可计算函数可计算函数(递归函数递归函数)的计算复杂性为研究对象的计算复杂性为研究对象基本问题基本问题u实际可计算函数的结构和性质实际可计算函数的结构和性质p60年代中期以来年代中期以来,有关研究者一般以计算时间有关研究者一般以计算时间多项式有
17、界的函数作为实际可计算的函数多项式有界的函数作为实际可计算的函数u确定性机器与非确定性机器的解题能力比较确定性机器与非确定性机器的解题能力比较关于计算和算法的研究关于计算和算法的研究u对串行计算的性质研究多对串行计算的性质研究多u对对并行计算性质的研究少并行计算性质的研究少辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法算法(Algorithm)(Algorithm)的定义的定义课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析解决问题的一种方法或过程解决问题的一种方法或过程,由若干条指令组成由若干条指
18、令组成uAlgorithm一词源于公元九世纪的一位波斯数学家一词源于公元九世纪的一位波斯数学家 Muhammad ibn Musa al-Khwarizmi的书的书u示例示例:给定正数给定正数m和和n,找出两个数的最大公约数找出两个数的最大公约数pE1. 用用n除以除以m,并令并令r为余数为余数(0rn)pE2. 如果如果r=0,则算法结束则算法结束, n为所求为所求pE3. 令令m=n, n=r,转入转入E1.算法的性质算法的性质u输入输入:有零个或多个由外部提供的量有零个或多个由外部提供的量u输出输出:至多一个量作为输出至多一个量作为输出u确定性确定性:每条指令是清晰的每条指令是清晰的,无
19、歧义的无歧义的u有限性有限性:每条指令执行次数有限每条指令执行次数有限,执行时间也有限执行时间也有限u有效性有效性:每个操作须使用户利用纸笔在有限时间内每个操作须使用户利用纸笔在有限时间内精确地完成精确地完成辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述求解问题的一般过程求解问题的一般过程课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法与程序算法与程序课程介绍课程介绍什么是算法什么是算法
20、算法的描述算法的描述算法分析算法分析算法与程序的区别算法与程序的区别u程序是算法用某种程序设计语言的具体实现程序是算法用某种程序设计语言的具体实现u程序可以不满足算法的第四条性质程序可以不满足算法的第四条性质为什么要学习算法?为什么要学习算法?u算法是程序的灵魂算法是程序的灵魂p问题求解过程问题求解过程:分析问题分析问题设计算法设计算法编写程编写程序序整理结果整理结果p程序设计研究的四个层次程序设计研究的四个层次:算法算法方法学方法学语语言言工具工具u提高分析问题的能力提高分析问题的能力p算法的形式化算法的形式化思维的逻辑性和条理性思维的逻辑性和条理性辽辽宁宁师师范大范大学计学计算机算机与与信
21、息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法可以解决哪些类型的问题算法可以解决哪些类型的问题? ?课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析问题的特点问题的特点有很多候选的解决方案有很多候选的解决方案,而要找出其中真正需要的而要找出其中真正需要的方案并不容易的情况方案并不容易的情况有着实际应用背景有着实际应用背景,但是受到经济利益但是受到经济利益,运行成本等运行成本等多方面的限制多方面的限制算法应用举例算法应用举例u人类基因组项目人类基因组项目:找出人类找出人类DNA中所有中所有100000种基种基因因,确定构成人类确定构成人类DN
22、A的的30亿种化学基对的各种序亿种化学基对的各种序列列,并将信息存储并将信息存储,检索和分析等检索和分析等u互联网互联网:寻找合理的数据传输路径寻找合理的数据传输路径u电子商务电子商务:保持私人信息保持私人信息,采用公钥和数字签名等采用公钥和数字签名等u交通交通:GPS导航导航u计算几何计算几何:求解平面上求解平面上n个点的凸壳个点的凸壳u数值计算数值计算:求解求解n个矩阵相乘个矩阵相乘,解方程组等解方程组等u辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法可以解决哪些类型的问题算法可以解决哪些类型的问题? ?课程介绍课程介
23、绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析重要的问题类型重要的问题类型查找问题查找问题排序问题排序问题图问题图问题组合问题组合问题几何问题几何问题辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法的描述算法的描述课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析自然语言自然语言u优点优点: 容易理解容易理解u缺点缺点: 冗长冗长,有二义性有二义性u使用方法使用方法: 粗线条描述算法思想粗线条描述算法思想u注意事项注意事项: 避免写成自然段避免写成自然段流程图流程图u优点优点: 直观直观u缺
24、点缺点: 缺少严密性和灵活性缺少严密性和灵活性u使用方法使用方法: 描述简单算法描述简单算法u注意事项注意事项: 注意抽象层次注意抽象层次辽辽宁宁师师范大范大学计学计算机算机与与信息技信息技术学术学院院 宋宋传鸣传鸣算法算法设计与设计与分析分析概述概述算法的描述算法的描述课程介绍课程介绍什么是算法什么是算法算法的描述算法的描述算法分析算法分析程序设计语言程序设计语言u优点优点: 能由计算机执行能由计算机执行u缺点缺点: 抽象性差抽象性差,对语言要求高对语言要求高u使用方法使用方法: 对算法进行验证对算法进行验证u注意事项注意事项: 将算法写成子函数将算法写成子函数#include int iC
展开阅读全文