算法之二项分布(php版)
来源:互联网 发布:网络节点 编辑:程序博客网 时间:2024/06/09 16:55
二项分布是数学的概念,定义及公式定理不在此说明.
注:递归版第三步及递推都依赖于C(M-1,N-1)+C(M-1,N)=C(M,N)的变形
递归版:
(我给递归版注释了1 2 3 是为了解析非递归版(递推版)中同等的操作
1 2 3)方便我们理解是怎么让递归变成递推的
function binomial($N,$k,$p) { // 1 if($N < 0 || $k < 0) return 0.0; //2 if($N == 0 && $k == 0) return 1.0; //3 return (1.0 - $p) * binomial($N - 1,$k,$p) + $p * binomial($N - 1,$k - 1,$p); }
非递归版:
function binomial($N,$k,$p) { if ($N < 0 || $k < 0) return 0.0; //1 $ret[0][0] = 1.0; //2 for ($i = 1; $i < $N + 1; ++$i) $ret[$i][0] = (1.0 - $p) * $ret[$i - 1][0]; for ($j = 1; $j < $k + 1; ++$j) $ret[0][$j] = 0.0; //3 for ($i = 1; $i < $N + 1; ++$i) for ($j = 1; $j < $k + 1; ++$j) $ret[$i][$j] = (1.0 - $p) * $ret[$i - 1][$j] + $p * $ret[$i - 1][$j - 1]; return $ret[$N][$k]; }
运行:
阅读全文
0 0
- 算法之二项分布(php版)
- 算法之二项分布(java版)
- 算法之二项分布(c/c++版)
- 二项分布算法(递归)
- 二项分布算法(伯努利实验)
- 二项分布
- 二项分布
- 二项分布
- 二项分布
- 数字信号产生之二项分布的随机数
- 概率分布之二项分布与多项分布
- PHP算法之排序算法
- 排序算法之PHP
- PHP之算法
- PHP算法之汉诺塔游戏
- php算法之快速排序
- PHP算法之插入排序
- php算法之冒泡排序
- 数据对接—kettle使用知识9
- MyBatis学习总结(二)——SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载
- symfony3 添加一个bundle,无法启动PHP内置服务器
- 程序的编译、链接
- 移动硬盘的文件在mac中呈现灰色的解决方法
- 算法之二项分布(php版)
- C# 装箱和拆箱
- 可重入函数与线程安全
- 简单暴力沉浸式
- 【BFS】poj 1915 Knight Moves
- STM32CubeMx
- 阿里云CentOS部署web.py生产环境初探
- 数据对接—kettle使用知识10
- zookeeper伪分布式配置安装