Smooth Sort. 見よ。この美しさを。 生き物のようにデータがシャッフルされる事を。 結晶が成長するようにヒープが構築されることを。 データが整列に近づくと、滑らかに高速化される事を。 そして、実装できた、俺のかしこs(殴) 自惚れモードはやめまして、ソートの紹介です。 ヒープソートを改良しためちゃくちゃムズいソートアルゴリズムです! ヒープソートは二分ヒープを使います。一方、スムースソートはレオナルドヒープと言う物を使います。 ただ...めちゃくちゃな実装の仕方をしたため動作が若干重いです。ターボモードにすると改善します。 STARTボタンでソートをはじめます。データ数変更ボタンで並び替えるデータの数を変更します。処理速度の調整ボタンで一秒間に何回ソートの処理をするかを変更します。音の有無ボタンはその名の通り音の有無を変更します。データの並び度という項があります。1がランダムデータで、2,3,4,5と増えるたびにデータが最初からより整列された状態で始まります。
名前の由来:スムーズ。滑らか。データが最初からどれくらい整列されているかで、計算する量がO(Nlog(N))からO(N)に滑らかに変化するからです。 ランダムデータだったらヒープやクイックに負けますが、ある程度整列されていると、計算量がO(N)に近づくので勝ちます。 その代わり、プログラムが複雑になります。何日もかけて仕組みを理解した上で作ったので出来ましたが... ヒープソート↓ https://scratch.mit.edu/projects/1363467743/