第1讲算法引论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第1讲算法引论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 引论 课件
- 资源描述:
-
1、例子例子:给定两个正整数给定两个正整数a a和和b,b,求它们的最大公因子求它们的最大公因子算法算法:欧几里德算法欧几里德算法输入输入:正整数正整数a a、b b输出:输出:a a和和b b的最大公因子的最大公因子第一章第一章 算法引论算法引论1.1 1.1 算法的基本概念算法的基本概念一、什么是算法及其与程序的区别一、什么是算法及其与程序的区别求解的数学模型为:gcd(a,b)=gcd(b,a)/gcd为求(a,b)的最大公因子的函数,其中abgcd(a,b)=gcd(b,a%b)/%为取模运算,求a除b的余数 =gcd(b,0)/当a%b=0时,b为(a,b)的最大公因子什么是算法?什么是
2、算法?它是一组它是一组有穷规则有穷规则的集合,它规定了解决某一的集合,它规定了解决某一 特定特定类型问题的一系列运算。类型问题的一系列运算。Gcd(int a,int b)/a,bN+1 if a b2 then swap(a,b);/交换a和b,保证a比b大3 n a%b;/a和b取余4 while n05 do a b;6 b n;7 n a%b;8 return b;二、算法的特征二、算法的特征 1 1、确定性、确定性 2 2、能行性、能行性 3 3、输入、输入 4 4、输出、输出 5 5、有穷性、有穷性:一个算法总是在有限步之后结束,且每一步一个算法总是在有限步之后结束,且每一步都可在
3、有穷时间内完成都可在有穷时间内完成.算法与程序的区别:算法与程序的区别:程序:与某种语言有关,能直接在机器上运行。程序:与某种语言有关,能直接在机器上运行。算法:与特定的语言无关,可用任何语言实现算法:与特定的语言无关,可用任何语言实现 ,甚至,甚至可以用自然语言实现,但是一般为了避免二义性,本书可以用自然语言实现,但是一般为了避免二义性,本书采用类采用类C C语言描述。语言描述。有穷性与有效性的关系有穷性与有效性的关系:三、评价算法的标准三、评价算法的标准 有穷性是对算法的基本要求,如果一个算法要能使用,有穷性是对算法的基本要求,如果一个算法要能使用,必须具有有效性。有效性是指算法在有效的时
4、间里终止。必须具有有效性。有效性是指算法在有效的时间里终止。时间复杂性和空间复杂性时间复杂性和空间复杂性四、本书介绍的内容四、本书介绍的内容 1、如何设计算法:、如何设计算法:2、如何表示算法:类、如何表示算法:类C语言语言(自学自学page 2-5)3、如何确定(或称证明)算法:、如何确定(或称证明)算法:4、如何分析算法:、如何分析算法:5、如何测试算法:作时空分布图、如何测试算法:作时空分布图1.2 1.2 算法设计的步骤算法设计的步骤一、问题的描述一、问题的描述例例:货郎担问题货郎担问题 设售货员在一天内要到设售货员在一天内要到5 5个城市去推销货物,已知从一个城市去推销货物,已知从一
5、个城市到其他城市的费用,求总费用最少的路线。给出个城市到其他城市的费用,求总费用最少的路线。给出的信息主要有五个城市的关系图及相应的费用矩阵。的信息主要有五个城市的关系图及相应的费用矩阵。二、模型的拟制二、模型的拟制 建模阶段至少要考虑以下两个基本问题:建模阶段至少要考虑以下两个基本问题:1 1)最适合于这个问题的数学结构是什么?)最适合于这个问题的数学结构是什么?2 2)有没有已经解决了的类似问题可供借鉴?)有没有已经解决了的类似问题可供借鉴?在模型建立好了以后,应该依据所选定的模型对在模型建立好了以后,应该依据所选定的模型对问题重新陈述问题重新陈述,并考虑下列问题并考虑下列问题:(1)(1
6、)模型是否清楚地表达了与问题有关的所有重要模型是否清楚地表达了与问题有关的所有重要的信息的信息?(2)(2)模型中是否存在与要求的结果相关的数学量模型中是否存在与要求的结果相关的数学量?(3)(3)模型是否正确反映了输入、输出的关系模型是否正确反映了输入、输出的关系?(4)(4)对这个模型处理起来困难吗?对这个模型处理起来困难吗?32353147214234415721152434724335211 对于货郎担问题,其数学模型是带权图,与此图相关的对于货郎担问题,其数学模型是带权图,与此图相关的是费用矩阵。是费用矩阵。以货郎担问题为例:采用枚举法。以货郎担问题为例:采用枚举法。分析:分析:三、
展开阅读全文