概率分析与随机算法小结
来源:互联网 发布:两年工作经验的程序员 编辑:程序博客网 时间:2024/06/18 09:45
起因:对于一段特定的程序,我们想要准确分析它的运行时间,不得不考虑到各种情况的输入。
方法:现在有两种方法用来处理该问题,一种是概率分析,另一种是随机算法;
(1)概率分析着重于对函数(或者某个程序段)的输入的分布进行分析,由此计算程序的平均情况运行时间;
(2)随机算法本质上与概率分析刻画的内容是同一类型,但是随机算法转换了思路,将不再考虑输入的分布,而将输入的随机性用程序内部的一个随机发生器来体现,一般情况下体现在在函数内部随机的生成一个输入,这样在每次程序运行时,输入都会不一样,以此来体现随机性,此时计算的运行时间我们称为期望运行时间。
随机算法中的随机化方法:在书中第70到71页指出了两种方法;
(1)依据优先级进行排序:
PERMUTE-BY-SORTING(A)1n = A.length2let P[1..n] be a new array3for i = 1 to n4P[i] = RANDOM(1, n^3)//为了让产生的优先级尽可能的唯一5sort A, using P as sort keys该方法先个数组中的每个元素生成一个优先级,然后依据生成的优先级对数组进行排序。
(2)原址排列给定数组:
RANDOMIZE-IN-PLACE(A)1n = A.length2for i = 1 to n3swap A[i] with A[RANDOM(i, n)]该方法相当于拿n个不同的球(元素)来对n个位置(数组)进行放置,放置后不能拿回,每次取球都是随机的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
对于算法导论的学习,可能改变一些,因为它内容太丰富,所以以后将选取一些有代表性的,重要的内容进行较为深入的分析,这样少一点,精细一点可能更好。
加油!!!
阅读全文
0 0
- 概率分析与随机算法小结
- 概率分析和随机算法
- 概率分析和随机算法
- 第五章——《概率分析与随机算法》
- 第5章:概率分析与随机算法
- 算法导论概率分析和随机算法
- 随机算法和概率分析的区别
- 6.10 概率分析和随机算法
- 第五章 概率分析和随机算法
- 第五章 概率分析和随机算法
- 算法导论——第五章概率分析与随机算法笔记
- 算法导论读书笔记 第五章 概率分析和随机算法
- 算法导论习题5--概率分析和随机算法
- 算法导论第五章:概率分析和随机算法
- 算法导论之概率分析和随机算法
- 算法导论之概率分析和随机算法文档
- 随机概率算法
- 第 5 章 概率分析和随机算法
- php 使用 ... 运算符进行参数展开
- JSP笔记
- 使用VideoToolBox硬解码MJPEG编码格式视频
- 类和对象
- 【php基础班】第15天 显示隐藏效果、购物车、form对象、表单验证、二级联动菜单
- 概率分析与随机算法小结
- Windows平台搭建基于PyQt5.8.2开发Python GUI程序的环境(含打包过程)
- 聚簇索引和非聚簇索引的区别
- Android studio 设置五颜六色的logcat
- POJ 1200 Crazy Search 笔记
- mysql case when then else 用法
- 02_线性表的链式存储结构---单链表
- plant(植物)
- 03_线性表的链式存储结构---静态链表