Skip to content
CoreSource checked

Knuth Shuffle

Knuth Shuffle draws samples while controlling distribution, coverage, or variance.

Quick Facts

Compact metadata for implementation and discovery.

Category
Randomness & Sampling
Difficulty
Intermediate
Family
Randomness and Sampling
Tier
Core
Status
Verified
Review
Source Checked
Sources
1
Formulas
0
Relationships
1
Code example
Ready
Visualization
Ready

Overview

Knuth Shuffle is a randomness and sampling method that generates samples, estimates, or pseudorandom values while controlling distribution and variance. It is most useful when repeatable sample behavior matters as much as raw randomness.

Core Concepts

probability distributionrandom variatevariance controlrandom drawdistributionestimate

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(n)

Average

O(n)

Worst

O(n^2)

Space

O(n)

When to Use

  • Use Knuth Shuffle when sample quality, reproducibility, or distribution shape affects the result.
  • Use it when deterministic seeds and distribution checks can be part of testing.

When Not to Use

  • Avoid when the target distribution is poorly defined.
  • Avoid when independence, burn-in, or seeding assumptions cannot be tested.

What It Does

  • Draws or transforms random values
  • Controls bias, variance, or coverage
  • Returns samples for simulation or estimation

Use Cases

  • Monte Carlo estimation
  • Simulation
  • Randomized testing

Inputs

  • Target distribution or population
  • Random seed or random source
  • Sample count

Outputs

  • Random samples
  • Estimated statistic
  • Generated sequence

Pseudocode

  1. 1.Initialize the random source and sampling parameters
  2. 2.Draw or transform candidate values
  3. 3.Accept, weight, or store samples according to the method
  4. 4.Repeat until the requested sample count is reached
  5. 5.Return the sample set or estimate

Canonical Example

Input
target = small distribution, samples = 5, seed = 7
Output
five repeatable samples or an estimate
Explanation
Knuth Shuffle uses the seed and sampling rule to produce values with the intended distribution or coverage.

Implementation Notes

  • Expose the seed and record enough parameters to reproduce samples.
  • Test distribution behavior with small deterministic checks before large simulations.

Common Pitfalls

  • Using an untracked seed makes results hard to reproduce.
  • Confusing distribution quality with visual randomness can hide bias.

Interactive Mechanism Walkthrough

Iterative Convergence & State Trajectory

Show samples accumulating over the target distribution or sample space.

Knuth Shuffle mechanism walkthrough step 1 of 5x₀x₁x₂x*
Step 1 of 5: Initialize the random source and sampling parameters
sampling

Notes

Knuth Shuffle operates in O(n) time and O(n) space within the Randomness and Sampling family. Often compared with Rejection Sampling and Importance Sampling.

Sources (1)

What each reference supports for this entry.

The Art of Computer Programming, Volume 2

Book

Random-number reference for Knuth/Fisher-Yates shuffling and unbiased random permutations.

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Conceptual neighborRejection Sampling

Knuth Shuffle and Rejection Sampling address nearby randomness and sampling problems but make different implementation tradeoffs.

Tags

Randomness & SamplingSampling