ビーズソート
ビーズソートの処理は、平行に並べられた糸をビーズが滑り落ちる様子で理解できる。図のステップ1では、n=5行m=4列の糸を考える。下からn行目はn個目のデータを格納する場所であり、1行目と2行目に3つずつビーズがあるため、1個目と2個目のデータが3であることを表している。
ここでビーズを重力に従って落下させると、それぞれの行の値がソート後の値となる。1行目は最大の数であり、n行目が最小の数である。もし上記の脚注通り左詰めでビーズを入れた場合、ビーズの右端の位置でソートの結果がわかる。
ハードウェアでの実装において、ビーズを「落下させる」ことを可能にする動作は、より高い行からより大きな値をより低い行に伝播させることを可能にした。 a行目の値がa+1行目の値よりも小さい場合、a+1行目の一部のビーズはa行目まで落下する。a行目のビーズが存在している場所はa+1行目のビーズの落下を物理的に邪魔するため、自動的に値が入れ替わる。
ビーズソートのメカニズムは計数ソートの背景にあるメカニズムと似ており、それぞれの行に存在するビーズの数は、その段数以上の値を持つ要素の数に対応する。