Geometric Distribution in Data Structures



The Geometric Distribution is a discrete probability distribution for n = 0, 1, 2, …. having the probability density function.

$$P\lgroup n\rgroup=p\lgroup1-p\rgroup^{n}$$

The distribution function is −

$$D\lgroup n\rgroup=\displaystyle\sum\limits_{i=0}^n P\lgroup i \rgroup=1-q^{n+1}$$

Example

 Live Demo

#include <iostream> #include <random> using namespace std; int main(){    const int nrolls = 10000; // number of rolls    const int nstars = 100; // maximum number of stars to distribute    default_random_engine generator;    geometric_distribution<int> distribution(0.3);    int p[10]={};    for (int i=0; i<nrolls; ++i) {       int number = distribution(generator);       if (number<10)       p[number]++;    }    cout << "Geometric_distribution (0.3):" << endl;    for (int i=0; i<10; ++i)       cout << i << ": " << string(p[i]*nstars/nrolls,'*') << endl; }

Output

0: ***************************** 1: ******************** 2: *************** 3: ********** 4: ******* 5: **** 6: *** 7: ** 8: * 9: *
Updated on: 2019-08-27T12:50:58+05:30

401 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements