《算法导论》笔记(3) 有关概率论
2015-02-03 15:09
169 查看
短篇,关于第5章。概率论的一些习题。
5.1-2,Random(0,1)只返回0和1,这里有个坑是二项式分布的问题,直接求和不可取。为得到random(a,b),应该将random(0,1)重复N次后,按顺序放入一个N位2进制数字中,对(b-a+1)取模,即得random(a,b)。复杂性为theta(n)。
5.1-3,因为random(0,1)时输出1概率为p,输出0概率为1-p,那么第一次为1,第二次为0,概率为1/4。也就是说第一次与第二次相异的概率为1/2。
5.3-5 n个元素有random(1,n^3)的优先级,所有元素都唯一的概率是[(n^3)!]/[(n^3-n)!*(n^3)^n],展开可以得到[(n^3)!]/[(n^3-n)!*(n^3)^n]>1-1/n。
5.4-4 P1=P(k,n)/k^n是所有人不同的概率,P2=k*(k-1)*P(k-1,n)/k^n是只有2个人相同的概率。P3=1-P1-P2是至少3个人相同的概率。注:公式P(i,j)是j个中取i个元素的全排列。
5.4-5 按照直觉是n/ln(n),根据例题逆推的。
5.1-2,Random(0,1)只返回0和1,这里有个坑是二项式分布的问题,直接求和不可取。为得到random(a,b),应该将random(0,1)重复N次后,按顺序放入一个N位2进制数字中,对(b-a+1)取模,即得random(a,b)。复杂性为theta(n)。
function random(a,b){ for i= 1 to N random += random(0,1)<<1 return random %(b-a+1) }
5.1-3,因为random(0,1)时输出1概率为p,输出0概率为1-p,那么第一次为1,第二次为0,概率为1/4。也就是说第一次与第二次相异的概率为1/2。
function real_random(){ return (random(0,1) xor random(0,1)) }
5.3-5 n个元素有random(1,n^3)的优先级,所有元素都唯一的概率是[(n^3)!]/[(n^3-n)!*(n^3)^n],展开可以得到[(n^3)!]/[(n^3-n)!*(n^3)^n]>1-1/n。
5.4-4 P1=P(k,n)/k^n是所有人不同的概率,P2=k*(k-1)*P(k-1,n)/k^n是只有2个人相同的概率。P3=1-P1-P2是至少3个人相同的概率。注:公式P(i,j)是j个中取i个元素的全排列。
5.4-5 按照直觉是n/ln(n),根据例题逆推的。
相关文章推荐
- 算法导论学习笔记(1)插入排序
- Linux学习笔记-与系统管理有关的命令[转帖]
- .net 有关多态性的学习笔记
- 有关DataForm组件的研究_基础知识和实现服务端批量CURD——Silverlight学习笔记[23]
- 有关Accordion组件的研究——Silverlight学习笔记[27]
- 有关DataForm组件的研究_显示多重数据模型集合——Silverlight学习笔记[24]
- 《算法导论》笔记一
- 有关Silverlight GridSplitter组件的研究——Silverlight学习笔记(4)
- 有关Silverlight TreeView组件的研究[3]——Silverlight学习笔记(8)
- 有关存储过程和ADO.Net的笔记
- Java中有关byte和String的转换笔记和byte[]到short、int、long的相互转换
- Effective STL 笔记若干-有关STL使用需要注意的方面
- 有关流的一些笔记
- 有关sql的参考资料,学习笔记.
- [随笔]有关存储过程和ADO.Net的笔记
- 有关Subversion安装配置笔记
- 有关MySQL下载、安装和使用入门笔记
- 《逻辑学》笔记,有关“论辩”的9条规则
- 有关Data Input类组件的研究——Silverlight学习笔记[26]
- 有关TransitioningContentControl组件的研究——Silverlight学习笔记[28]