Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ソート機能の使い分け、応用 #144

Open
lempiji opened this issue Oct 23, 2021 · 1 comment
Open

ソート機能の使い分け、応用 #144

lempiji opened this issue Oct 23, 2021 · 1 comment
Assignees

Comments

@lempiji
Copy link
Member

lempiji commented Oct 23, 2021

遺伝的アルゴリズムや各種シミュレーションでちょいちょい出てくる記述を整理しておきたいです。

  • 上位N個が分かれば良いので効率よくソートしたい(topN
    • (配列の長さ/2+1)個をソートすれば中央値が求められる、などの応用
  • 重い評価/比較関数を使ったソートを高速化したい(schwartzSort
  • 複数の配列を1つとみなしてソートしたい(chain, completeSort
  • 複数のキーを条件にソートしたい(multiSort
  • 要素が constimmutable の配列を並び替えたい(.dup するか makeIndex で順位を表す配列を作る)
@shoo
Copy link
Member

shoo commented Oct 23, 2021

そういえばちょっと前にクイックソートの計算量が話題になりましたね。

データ件数、コンテナの構造、比較関数の重さ、安定ソートが必要か、ソート前のデータの整列度合いなどで最適なアルゴリズムが変わるので、ソートアルゴリズムの選定は難しいですよね。

@lempiji lempiji self-assigned this Sep 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants