第7章 数据结构与算法精选PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章 数据结构与算法精选PPT.ppt》由会员分享,可在线阅读,更多相关《第7章 数据结构与算法精选PPT.ppt(92页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 数据结构与算法第1页,本讲稿共92页概率算法概率算法概率算法同前几章算法的区别概率算法允许算法在执行过程中随机地选择下一个允许算法在执行过程中随机地选择下一个计算步骤计算步骤。在许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时省时。概率算法的一个基本特征:对所求解问题的同对所求解问题的同一实例用同一概率算法求解两次,可能得到完一实例用同一概率算法求解两次,可能得到完全不同的效果。全不同的效果。反映在求解时间、结果质量等方面。第2页,本讲稿共92页概率算法的主要类型概率算法的主要类型概率算法的主要类型数值概率算法蒙特卡罗算法拉斯维加斯算法舍伍德算法第3页,本讲稿共
2、92页数值概率算法数值概率算法数值概率算法将一个问题的计算与某个概率分布已经确定的事件(或按需要构造满足某种概率分布的事件)联系起来。常用于数值问题的求解,得到的往往是近似解得到的往往是近似解解的精度随计算时间的增加而提高在许多情况下,计算出问题的精确解是不可能或没必要第4页,本讲稿共92页舍伍德算法舍伍德算法舍伍德算法总能求解得到问题的一个解,而且所求得得解总是正确的。总能求解得到问题的一个解,而且所求得得解总是正确的。当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可在这个确定算法中引入随机性,将它改造成一个舍伍德算法,消除或减少问题的好坏实例间的差别。如
3、快速排序法:O(n2)(出现概率小);O(nlogn);舍伍德算法的精髓舍伍德算法的精髓不是避免算法的最坏情况,而是设法消除这种最坏情形行为与特定设法消除这种最坏情形行为与特定实例之间的关联性实例之间的关联性。数据洗牌+确定算法;第5页,本讲稿共92页蒙特卡罗算法蒙特卡罗算法蒙特卡罗算法用于求解问题的准确解在有些情况下,近似解没有意义,比如“0/1”判定问题可以求得问题的一个解,但该解未必正确可以求得问题的一个解,但该解未必正确求得正确解的概率依赖于算法的计算时间蒙特卡罗算法的主要缺点就在于无法有效判定所得到的解是否肯定正确。第6页,本讲稿共92页拉斯维加斯算法拉斯维加斯算法拉斯维加斯算法算法
4、停止时总能产生正确答案,但运行时间是输入的随机变量(不排除无穷步骤的可能性),而且其期望值是有界的。不会得到不正确的解但有时找不到问题的解但有时找不到问题的解找到正确解的概率随算法计算时间的增加而提高用同一拉斯维加斯算法反复对问题实例求解足够多次,可使求解失败的概率任意小。第7页,本讲稿共92页Sherwood算法:正确的概率算法:对一个问题,如果存在一个Sherwood算法,则一定有正确性算法。Las Vegas算法:算法结束时给出的答案总是正确的,以正的概率使算法停止;没有执行步骤的上界;算法执行步骤的期望值有保证。Monte Carlo算法:算法以正的概率给出正确答案,总能停机;执行步数
5、有限,一般给定执行步骤的上界。第8页,本讲稿共92页提纲随机数数值概率算法舍伍德算法拉斯维加斯算法蒙特卡罗算法本章小结第9页,本讲稿共92页提纲随机数随机数数值概率算法舍伍德算法拉斯维加斯算法蒙特卡罗算法本章小结第10页,本讲稿共92页随机数随机数随机数在科学计算中扮演非常重要的角色。现有的随机数产生器所产生的随机数都是伪随机数现有的随机数产生器所产生的随机数都是伪随机数在一定程度上是随机的常用的随机数产生方法线性同余法线性同余法第11页,本讲稿共92页线性同余法该随机序列的种子该随机序列的种子如何选取常数如何选取常数b、c、m将直接影响到所将直接影响到所产生随机序列的随机性。产生随机序列的随
6、机性。第12页,本讲稿共92页随机序列的产生与实验随机序列的产生随机序列的产生参看教材page241-242RandomfRandom模拟抛硬币实验模拟抛硬币实验参看教材page243-244第13页,本讲稿共92页提纲随机数数值概率算法数值概率算法舍伍德算法拉斯维加斯算法蒙特卡罗算法本章小结第14页,本讲稿共92页通过实例学习数值概率算法用随机投点法计算值计算定积分解非线性方程组第15页,本讲稿共92页用随机投点法计算用随机投点法计算值值计算定积分计算定积分解非线性方程组解非线性方程组第16页,本讲稿共92页用随机投点法计算值算法思想算法思想设有一半径为r的圆及其外切四边形。向该正方形随机投
7、掷n个点。落入圆内的点数为k。第17页,本讲稿共92页用随机投点法计算用随机投点法计算值值计算定积分计算定积分解非线性方程组解非线性方程组第18页,本讲稿共92页计算定积分用随机投点法计算定积分用平均值法计算定积分第19页,本讲稿共92页用随机投点法计算定积分Y=f(x)Gxy101第20页,本讲稿共92页用平均值法计算定积分第21页,本讲稿共92页第22页,本讲稿共92页满足概率分布函满足概率分布函数数f(x)的要求的要求第23页,本讲稿共92页算法实现用随机投点法计算定积分参看教材page245-246用平均值法计算定积分参看教材page246-247第24页,本讲稿共92页用随机投点法计
8、算用随机投点法计算值值计算定积分计算定积分解非线性方程组解非线性方程组第25页,本讲稿共92页解非线性方程组求解过程会出现一些麻烦,求解过程会出现一些麻烦,甚至使方法失效而无法获得甚至使方法失效而无法获得一个近似解一个近似解第26页,本讲稿共92页利用概率算法求解方法直观、简单,方法直观、简单,但工作量较大但工作量较大第27页,本讲稿共92页算法改进第28页,本讲稿共92页概率算法在求解非线性方程组时,虽然有概率算法在求解非线性方程组时,虽然有些耗时,但实际应用中还是比较有效的,些耗时,但实际应用中还是比较有效的,对于那些精度要求较高的问题,对于那些精度要求较高的问题,概率算法概率算法往往会为
9、其提供一个较好的初始值往往会为其提供一个较好的初始值。算法实现过程参看教材page248-249第29页,本讲稿共92页提纲随机数数值概率算法舍伍德算法舍伍德算法拉斯维加斯算法蒙特卡罗算法本章小结第30页,本讲稿共92页舍伍德算法舍伍德算法舍伍德算法目的:设法消除最坏情形行为与特定实例之间设法消除最坏情形行为与特定实例之间的关联性。的关联性。其计算时间复杂性对所有实例而言相对均匀,但同相应的确定性算法相比,其平均时间复杂性没有改进。第31页,本讲稿共92页第32页,本讲稿共92页第33页,本讲稿共92页实例说明线性时间选择跳跃表第34页,本讲稿共92页线性时间选择线性时间选择跳跃表跳跃表第35
10、页,本讲稿共92页线性时间选择线性时间选择线性时间选择问题所在:选择合适的划分基准对于选择问题,用拟中位数作为划分基准可以保证在最坏情况下用线性时间完成选择。舍伍德型选择算法舍伍德型选择算法随机选择一个组元素作为划分基准,既保证算法的线性时间平均性能,又可以避免计算中位数的麻烦。第36页,本讲稿共92页Select算法分析第37页,本讲稿共92页Select算法分析如何得到?如何得到?第38页,本讲稿共92页考虑这种情况:无论考虑这种情况:无论n是奇数是奇数还是偶数,还是偶数,T(n/2)都出现都出现2次次第39页,本讲稿共92页结论结论结论非递归的舍伍德型选择算法Select可以在O(n)平
11、均时间内找出个输入元素中的第小元素提示提示对于某些确定性算法,可以将其改造成舍伍德算法,使得该算法以高概率对任何实例均有效。对于某些不能直接改造的情况,可以借助预处借助预处理技术理技术,不改变原有的确定性算法,而仅对其对其输入元素进行随机洗牌输入元素进行随机洗牌,同样可以收到舍伍德算法的效果。第40页,本讲稿共92页线性时间选择线性时间选择跳跃表跳跃表第41页,本讲稿共92页跳跃表跳跃表跳跃表如果用有序链表来表示一个含有个元素的有序集合,则在最坏情况下,搜索中的一个元素需要(n)计算时间。为了跳高效率,可以在部分结点处增加附加指针来提高搜索性能(借助这些附加指针,可以跳过链表中的若干结点,从而
12、加快搜索速度)。这种增加了向前附加指这种增加了向前附加指针的有序链表称为跳跃表。针的有序链表称为跳跃表。第42页,本讲稿共92页11131719230举例说明没有附加指针的有序链表没有附加指针的有序链表1113171923011113171923012增加附加指针后的有序链表增加附加指针后的有序链表跳跃表跳跃表第43页,本讲稿共92页如何进行搜索?1113171923012问题:问题:如何在该跳跃表中搜索元素?如何在该跳跃表中搜索元素?第44页,本讲稿共92页如何在该跳跃表中搜索元素?1113171923012元素位置元素位置11131719230121113171923012元素位置元素位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 数据结构与算法精选PPT 数据结构 算法 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内