前言:
眼前咱们对“概率算法大数据”都比较着重,兄弟们都想要知道一些“概率算法大数据”的相关内容。那么小编同时在网摘上网罗了一些对于“概率算法大数据””的相关内容,希望看官们能喜欢,咱们快快来学习一下吧!在解决实际问题时,有时会用到所谓的概率算法。概率算法允许在执行过程中随机地选择下一步的计算步骤,因此使用概率算法有时会大大地提高算法的效率,但有时也可能得不到问题的全部答案。
概率算法大致分为四类:数值概率算法,蒙特卡洛(Monte Carlo)算法,拉斯维加斯(Las Vegas)算法,和舍伍德(Sherwood)算法。这里只介绍最为基础的数值概率算法。
数值概率算法常应用于解决数值计算的问题。应用数值概率算法往往只能得到问题的近似解,并且该近似解的精度一般随着计算时间的增加而不断提高。因为在一些数值问题中,不可能也没有必要计算出问题的精确解(例如:计算无理数π的取值等),因此,在解决一些数值计算的问题时,数值概率算法常能派上用场。
简单的源代码:#include "stdio.h"#include "math.h"#include "stdlib.h"#include "time.h"double Darts(int n){ double x,y; time_t t; int i,count = 0; srand((unsigned)time(&t)); for(i=0;i<n;i++) { x = rand()%100/100.0; y = rand()%100/100.0; if(y<=1 - pow(x,2)) count++; } return (double)count/(double)n; /*返回落入阴影区域的点数与总点数n的比值*/}main(){ int n; printf("Please input the accuracy\n") ; /*输入精度,即投点数*/ scanf("%d",&n); printf("The result is about\n"); /*输出计算结果*/ printf("%f\n",Darts(n)); getche();}
运行结果:
标签: #概率算法大数据