• 神山冈仁波齐的转山之路文章中国国家地理网 2019-04-24
  • 好事要支持,解决劳动力更是好事 2019-04-24
  • 构建“选育管用带”培养链 磐安探索年轻干部培养“八法” 2019-04-21
  • [理上网来·辉煌十九大]孙来斌:把人民利益摆在至高无上的地位 2019-04-21
  • 呼死你团伙被摧毁 封停83万余个账号抓获210余人 2019-04-14
  • 计划不是产生在交换基础上的计划。 2019-04-12
  • 董卿朱军朱迅小尼 盘点深受父母影响的央视名嘴 2019-03-31
  • 凯恩率“三狮军团”艰难战胜突尼斯 2019-03-31
  • 浙产纸尿裤能叫板国际大牌吗 2019-03-19
  • 北京pk10是国家彩票吗
    购买

    ¥30.0

    加入VIP
    • 专属下载券
    • 上传内容扩展
    • 资料优先审核
    • 免费资料无限下载

    上传资料

    关闭

    关闭

    关闭

    封号提示

    内容

    北京pk10是国家彩票吗 第一章算法设计基本方法

    北京pk10必中8码方法:第一章算法设计基本方法.ppt

    第一章算法设计基本方法

    教育文库
    2018-11-17 0人阅读 举报 0 0 0 暂无简介

    北京pk10是国家彩票吗 www.qdpo.net 简介:本文档为《第一章算法设计基本方法ppt》,可适用于求职/职场领域

    算法设计基本方法()列举法(穷举法):指的是从可能的解的集合中一一枚举各元素用题目给定的检验条件判定哪些是无用的哪些是有用的。能使命题成立即为其解。例:百鸡问题(教材p)特点:算法简单可读性强直观易于理解和设计适用范围:解决“是否存在”或者“有多少种可能”问题缺点:运算工作量巨大改进方法:分析实际问题缩小列举范围以减少运算量软肋:不能用以解决列举量无限的问题,或列举量非常大的问题算法设计基本方法()归纳法:通过分析少量特殊情况找出关系得到结论例:搏彩问题这期彩票该买几呢?根据曲线买比较好归纳法特点:适用面广高效使用常能解决许多实际问题适用范围:样本空间有一定规律多用于预测领域数据难以获得的工程计算科学计算等领域缺点:归纳出的数学模型需要证明且代码实现不规范改进方法:常采用不同归纳方法共同求解一个问题软肋:不能求解样本空间过于零散的问题算法设计基本方法()递推从已知的初始条件出发逐次推出所要求的各中间结果和最后结果特点:采用递推关系式数学模型理论正确性得到保证由于递推关系式来源于归纳所以本质上属于归纳法适用范围:数值计算等工程应用缺点:需考虑数值计算中稳定性问题易产生蝴蝶效应软肋:无递推关系式的问题不可解NYBJ递推据说美军年的一次部队的命令传递是这样的:营长对值班军官:明晚大约点钟左右哈雷彗星将可能在这个地区看到这种彗星每隔年才能看见一次。命令所有士兵着野战服在操场上集合我将向他们解释这一罕见的现象。如果下雨的话就在礼堂集合我为他们放一部有关彗星的影片。值班军官对连长:根据营长的命令明晚点哈雷彗星将在操场上空出现。如果下雨的话就让士兵穿着野战服列队前往礼堂这一罕见的现象将在那里出现。连长对排长:根据营长的命令明晚点非凡的哈雷彗星将身穿野战服在礼堂中出现。如果操场上下雨营长将下达另一个命令这种命令每隔年才会出现一次。排长对班长:明晚点营长将带着哈雷彗星在礼堂中出现这是每隔年才有的事。如果下雨的话营长将命令彗星穿上野战服到操场上去。班长对士兵:在明晚点下雨的时候著名的岁哈雷将军将在营长的陪同下身着野战服开着他那“彗星”牌汽车经过操场前往礼堂。!!!Whathappened!注意此公式精确成立注意此公式与公式一在理论上等价。方法:先估计一个IN,再反推要求的In(n<<N)??疾旆赐埔徊降奈蟛睿阂源死嗤贫詎<N有:误差逐步递减,这样的算法称为稳定的算法*stablealgorithm*类似例子见教材p算法设计基本方法()递归将一个复杂的问题归结为若干个较简单的问题然后将这些较简单的每一个问再归结为更简单的问题这个过程可以一直做下去直到最简单的问题为止。例:计算阶乘:n!=n(n?)????,!=intfactorial(intn){inti,resultresult=if(n>){for(i=i<=ni)result=result*i}*endif*returnresult}intfactorial(intn){if(n>)returnn*factorial(n?)elsereturn}例:斐波那契(Fibonacci)序列:F=F=Fi=FiFi(i>)算法求斐波那契数intF(n){返回第n个斐波那契数intnif(n<=)return()elsereturnF(n)F(n)}算法效率:对F(n)、F(n)存在大量的重复计算改进:保存中间结果例:欧几里得算法已知两个非负整数a和b且a>b≥求这两个数的最大公因数。辗转相除法:若b=则a和b的最大公因数等于a若b>则a和b的最大公因数等于b和用b除a的余数的最大公因数。算法求最大公因数GCD(inta,intb)约定a>b{if(b==)return(a)elsereturn(GCD(b,ab))}例:GCD(,)=GCD(,)=GCD(,)=GCD(,)=递归特点:结构清晰可读性强容易用数学归纳法证明算法正确性适用范围:难以用循环或递推直观描述的复杂问题缺点:资源耗费多执行效率低所以在算法优化时采用消递归策略算法设计基本方法()减半递推技术(分治法)所谓“减半”是指将问题的规模减半而问题的性质不变。所谓“递推”是指重复“减半”的过程。例:二分法求方程实根的减半递推过程(算法及程序见书p)首先取给定区间的中点c=(a+b)。然后判断f(c)是否为。若f(c)=,则说明c即为所求的根求解过程结束如果f(c)≠,则根据以下原则将原区间减半:若f(a)f(c)<则取原区间的前半部分若f(b)f(c)<则取原区间的后半部分。最后判断减半后的区间长度是否已经很?。喝魘a-b|<ε则过程结束取(a+b)为根的近似值若|a-b|≥ε则重复上述的减半过程。例二分检索二分检索:每次选取中间元素的下标算法二分检索IntBINSRCH(intA,intn,intx){intlow,high,midlow=high=nwhile(low<=high){mid=if(x<Amid)high=midif(x>Amid)low=midelsereturnmid}return}注:给定一个按非降次序排列的元素数组A(:n)n≥,判断x是否出现。若是返回当前角标mid若非返回表示没有找到例:设A(:)=()在A中检索x=。执行轨迹见下表成功的检索不成功的检索成功的检索递推减半技术特点:迅速缩小计算规模适用范围:工程计算矩阵计算数值计算中能够迅速将问题分治的情况算法设计基本方法()回溯法通过对问题的分析找出一个解决问题的线索然后沿着这个线索逐步试探对于每一步的试探若试探成功就得到问题的解若试探失败就逐步回退换别的路线再进行试探。例:八皇后问题(教材p)迷宫问题实际上是一种图的深度优先遍历的方法特点:算法效率高直观清楚适用范围:适用于解决“是否存在”或者“有多少种可能”问题缺点:算法的复杂性与计算顺序有关算法分析分析算法的目的在于:通过对算法的分析在把算法变成程序实际运行前就知道为完成一项任务所设计的算法的好坏从而运行好的算法改进差的算法避免无益的人力和物力浪费。算法分析是计算机领域的“古老”而“前沿”的课题。算法分析“好”的算法应当达到以下指标正确性(Correctness):算法应当满足具体问题的需求可读性(Readability):算法是连接数学模型和程序的桥梁,可读性好有助于人对算法的理解健壮性(Robustness):算法对于异常情况有充分的考虑和处理方法效率高和存储量少:时间复杂度:指执行算法所需要的计算工作量算法的工作量=f(n)空间复杂度:执行算法所需要的内存空间n指算法规模时间复杂度()平均性态(averagebehavior):用各种特定输入下的基本运算次数的带权平均值来度量算法的工作量最坏情况复杂性(WorstCaseComplexity)规模在n时,算法所执行的基本运算的最大次数由于最坏情况复杂性给出算法工作量的一个上界,所以更具实用价值时间复杂度()例:顺序搜索法的时间复杂度分析(教材p)采用顺序搜索法在长度为n的一维数组中查找为x的元素。算法:即从数组的第一个元素开始逐个与被查值x进行比较?;驹怂?x与数组元素的比较。平均性态分析:最坏情况分析:W(n)=max{ti|≤i≤n+}=n如何进行算法分析?对算法进行全面分析可分两个阶段进行:事前分析:求算法的一个时间空间限界函数即通过对算法的“理论”分析得出关于算法时间和空间特性的特征函数(Ο、Ω)与计算机物理软硬件没有直接关系。事后测试:将算法编制成程序后实际放到计算机上运行收集其执行时间和空间占用等统计资料进行分析判断直接与物理实现有关。)事前分析目的:试图得出关于算法特性的一种形式描述(限界函数)以“理论上”衡量算法的“好坏”。如何给出反映算法特性的描述?统计算法中各种运算的执行情况包括:引用了哪些运算每种运算被执行的次数该种运算执行一次所花费的时间等。算法的执行时间=∑fi*ti工作量工作量:算法中语句或运算的执行次数。例:x=xyfor(i=i<ni)for(i=i<ni)x=xyfor(j=j<nj)x=xy(a)(b)(c)分析:(a):x=xy执行了次(b):x=xy执行了n次(c):x=xy执行了n次限界函数的表示就计算时间而言事前分析阶段求得算法在工作量上的算法规模n的函数称为限界函数记为:g(n)限界函数以算法中主要运算单元为基本运算统计运算次数的数量级★g(n)的一般形式:关于n的简单函数式g(n)用以限界因此只采用所得到计算次数的最高次项表示:随着n(规模)的增大多项式函数式的最高次项的变化能够最显著的反映整个多项式的变化★不同的算法g(n)的具体形式是不同的常用的限界函数有:lognnnlognnnnmnn!nn等)事后测试目的:运行程序统计执行实际耗费的准确的时间与空间与事前分析的结论进行比较验证先前的分析结论包括正确性、执行性能等比较、优化所设计的算法。分析手段:作时、空性能分布图计算时间的渐近表示记:算法的实际计算时间为f(n)计算时间的限界函数为g(n)其中n是输入或输出规模的某种测度。f(n)表示算法的“实际”执行时间与机器及语言有关。g(n)是事前分析的结果一个形式简单的函数如nmlognnn!等。是与工作量有关、而与机器及语言无关的函数。以下给出算法执行时间:上界(О)、下界(Ω)、“平均”()的定义。)上界函数定义如果存在两个正常数c和n对于所有的n≥n有|f(n)|≤c|g(n)|则记作f(n)=Ο(g(n))含义:如果算法用n值不变的同一类数据在某台机器上运行时所用的时间总是小于|g(n)|的一个常数倍。所以g(n)是计算时间f(n)的一个上界函数。f(n)的数量级就是g(n)。试图求出最小的g(n)使得f(n)=Ο(g(n))。数量级衡量工作量的“大小”的一种测度通过f(n)的上界函数g(n)确定语句的数量级:语句的执行次数例:nn算法的数量级:算法所包含的所有语句的执行次数之和。数量级反映了算法复杂度的最本质的特征。例:假如求解同一个问题的三个算法分别具有nnn数量级。次数若n=则可能的执行时间将分别是个单位时间与环境因素无关。计算时间的数量级的大小对算法有决定性的影响例:假设解决同一个问题的两个算法它们都有n个输入,计算时间的数量级分别是n和nlogn。则n=:分别需要和次运算。n=:分别需要和次运算。分析:★同等规模下的计算量比较:★规模增大情况下的比较:在n加倍的情况下一个Ο(n)的算法计算时间增长倍而一个Ο(nlogn)算法则只用两倍多一点的时间即可完成。多项式时间算法和指数时间算法多项式时间算法:可用多项式(函数)对其计算时间限界的算法。常见的多项式限界函数有:Ο()<Ο(logn)<Ο(n)<Ο(nlogn)<Ο(n)<Ο(n)指数时间算法:计算时间用指数函数限界的算法常见的指数时间限界函数:Ο(n)<Ο(n!)<Ο(nn)说明:当n取值较大时指数时间算法和多项式时间算法在计算时间上非常悬殊。典型的计算时间函数曲线一般认识当数据集的规模很大时要在现有的计算机系统上运行具有比Ο(nlogn)复杂度还高的算法是比较困难的。指数时间算法只有在n取值非常小时才实用。要想在顺序处理机上扩大所处理问题的规模有效的途径是降低算法的计算复杂度而不是(仅仅依靠)提高计算机的速度。计算时间函数值比较常见时间复杂度数量级分析()常见时间复杂度数量级分析()定义如果存在两个正常数c和n对于所有的n≥n有|f(n)|≥c|g(n)|则记作f(n)=Ω(g(n))含义:如果算法用n值不变的同一类数据在某台机器上运行时所用的时间总是不小于|g(n)|的一个常数倍。所以g(n)是计算时间f(n)的一个下界函数。试图求出“最大”的g(n)使得f(n)=Ω(g(n))。)下界函数定义如果存在正常数cc和n对于所有的n≥n有c|g(n)|≤|f(n)|≤c|g(n)|则记作含义:算法在最好和最坏情况下的计算时间就一个常数因子范围内而言是相同的??煽醋鳎杭扔衒(n)=Ω(g(n))又有f(n)=Ο(g(n)))“平均情况”限界函数空间复杂度算法占用空间算法程序空间输入数据空间算法执行的额外空间由于算法执行空间是可以在算法设计中优化的所以往往通过压缩等方法缩小这方面的空间占用如果相对与程序规模其执行的额外空间为常数级则称算法为原地工作(inplace)小结算法:解题方案准确而完整的描述是连接数学模型和程序的纽带算法性质:能行性确定性有穷性拥有足够信息算法要素:对数据的运算和操作算法的控制结构算法描述:算法描述语言中包含符号与表达式、赋值语句、控制转移语句、循环语句、输入输出终止等其他语句算法设计方法:列举法归纳法递推递归减半递推技术回溯法算法分析:时间复杂度平均性态最坏情况复杂性空间复杂度算法程序空间输入空间算法执行的额外空间时间复杂度种类(按优劣排):O(),O(logn),O(n),O(n),O(n),…,O(n)Homework教材p习题,

    用户评价(0)

    关闭

    新课改视野下建构高中语文教学实验成果报告(32KB)

    抱歉,积分不足下载失败,请稍后再试!

    提示

    试读已结束,如需要继续阅读或者下载,敬请购买!

    评分:

    /43

    ¥30.0

    立即购买

    VIP

    意见
    反馈

    北京pk10是国家彩票吗
  • 神山冈仁波齐的转山之路文章中国国家地理网 2019-04-24
  • 好事要支持,解决劳动力更是好事 2019-04-24
  • 构建“选育管用带”培养链 磐安探索年轻干部培养“八法” 2019-04-21
  • [理上网来·辉煌十九大]孙来斌:把人民利益摆在至高无上的地位 2019-04-21
  • 呼死你团伙被摧毁 封停83万余个账号抓获210余人 2019-04-14
  • 计划不是产生在交换基础上的计划。 2019-04-12
  • 董卿朱军朱迅小尼 盘点深受父母影响的央视名嘴 2019-03-31
  • 凯恩率“三狮军团”艰难战胜突尼斯 2019-03-31
  • 浙产纸尿裤能叫板国际大牌吗 2019-03-19
  • 北京赛车pk10怎么赔付 福彩北京赛车pk10官网 江西时时彩闹剧 彩票中奖查询 曾道人 nba篮彩神棍区 湖南福彩3d开机号查询结果 2018最快开奖历史记录 超级大乐透开奖结果查 新疆时时彩开奖号码 数7游戏规律 ios北京赛车pk10下截 重庆时时彩2期必中计划 黑龙江时时彩开奖走势图 pc蛋蛋幸运28在线预测 体彩竞彩篮球大小分