There are two types of sampling algorithms: rejection sampling and inversion sampling.