Randomized Algorithms

An algorithm that uses random numbers to decide what to do next anywhere in its logic is called Randomized Algorithm. For example, in Randomized Quick Sort, we use random number to pick the next pivot (or we randomly shuffle the array). Typically, this randomness is used to reduce time complexity or space complexity in other standard algorithms.

Recent Articles on Randomized Algorithms !

  1. Random Variables
  2. Randomized Algorithms | Set 0 (Mathematical Background)
  3. Randomized Algorithms | Set 1 (Introduction and Analysis)
  4. Randomized Algorithms | Set 2 (Classification and Applications)
  5. Randomized Algorithms | Set 3 (1/2 Approximate Median)
  6. Binomial Random Variables
  7. Generate integer from 1 to 7 with equal probability
  8. Make a fair coin from a biased coin
  9. Shuffle a given array
  10. Reservoir Sampling
  11. Select a random number from stream, with O(1) space
  12. Random number generator in arbitrary probability distribution fashion
  13. Write a function that generates one of 3 numbers according to given probabilities
  14. K’th Smallest/Largest Element in Unsorted Array | Set 2 (Expected Linear Time)
  15. Birthday Paradox
  16. Linearity of Expectation
  17. Expected Number of Trials until Success
  18. Load Balancing on Servers (Randomized Algorithm)
  19. Karger’s algorithm for Minimum Cut | Set 1 (Introduction and Implementation)
  20. Select a Random Node from a Singly Linked List
  21. Karger’s algorithm for Minimum Cut | Set 2 (Analysis and Applications)
  22. Primality Test | Set 2 (Fermat Method)
  23. Generate 0 and 1 with 25% and 75% probability
  24. Implement rand3() using rand2()
  25. Strong Password Suggester Program
  26. Freivald’s Algorithm to check if a matrix is product of two
  27. mplement random-0-6-Generator using the given random-0-1-Generator
  28. Select a Random Node from a tree with equal probability
  29. QuickSort using Random Pivoting
  30. Operations on Sparse Matrices
  31. Random Walk (Implementation in Python)
  32. Expectation or expected value of an array
  33. Estimating the value of Pi using Monte Carlo
  34. Randomized Binary Search Algorithm
  35. Shuffle a deck of cards
  36. Program to generate CAPTCHA and verify user
  37. Find an index of maximum occurring element with equal probability
  38. Implement rand12() using rand6() in one line

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up