30
スリープソートを実装する
スリープソートは、インターネットで見つけた整数ソートアルゴリズムです。出力ストリームを開き、各入力番号に対して並列に、number秒遅延してその番号を出力します。遅延のため、最も大きい番号が最後に出力されます。私はそれがO(n + m)を持っていると推定します。ここで、nは要素の数であり、mは最大数です。 Bashの元のコードは次のとおりです。 #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait これが擬似コードです sleepsort(xs) output = [] fork for parallel x in xs: sleep for x seconds append x to output wait until length(output) == length(xs) return …
74
code-golf