
クイックソート何行だと思う? rubyが40行、c++が35行、haskellは5行だよ? 大きいのと小さいのにちぎる、空だったら終わる、それが本質でそれだけが必要最低限。 クイックソートのイデアは五行に収まるらしい
2013-01-27 00:18:27
そのクイックソートは偽物です RT @spinute クイックソート何行だと思う? rubyが40行、c++が35行、haskellは5行だよ? 大きいのと小さいのにちぎる、空だったら終わる、それが本質でそれだけが必要最低限。 クイックソートのイデアは五行に収まるらしい
2013-01-27 11:05:35
@camloeba haskell歴二日目のヒヨッコが感動に昂ぶって書いた文章なのでご容赦、ご教示くださると嬉しいです。
2013-01-27 11:06:52
@spinute 簡単に言うと、クイックソートの本質である in place sort でないところがまずいです。そして実際遅すぎて実用になりません。クイックソートのような遅いソートアルゴリズムでしかないです。Haskell クイックソート 偽物 などで検索してください。
2013-01-27 11:12:37
@camloeba なるほど、理由はまだわかったようなわからないようなですが、c++よりはひとまず確かに遅いようです。検索したら色々出てきたので読んでみます、ご指摘ありがとうございます。
2013-01-27 11:38:32
プログラミングでの抽象化能力はあれば強力なんだけど、下手するとメモリ書き換えを基本とする今のコンピュータの本質から離れてしまった例を簡単に書けしかもそれになかなか気づけない。「クイックソート」はそういう「入門者殺し」の例だと私は思います
2013-01-27 11:42:22
Haskell に限らず関数型プログラミングが出来る言語の多くの初心者向け本や情報がこの変なクイックソートを入門者殺しに使いはじめている。あんまり良くないことだと思います
2013-01-27 11:51:02
初心者あるあるだったわけだ 先は長いし、cもアセンブリもひいてはハード、アーキテクチャの振る舞いも忘れてはいけないし、可能なら相互に絡めて理解してみる必要があるわけですね
2013-01-27 11:51:07
あれ、どこが変なんだろう。 RT @camloeba Haskell に限らず関数型プログラミングが出来る言語の多くの初心者向け本や情報がこの変なクイックソートを入門者殺しに使いはじめている。あんまり良くないことだと思います
2013-01-27 12:04:57
Haskellで真面目にクイックソート書くと,一旦 STArray 辺りに落としてから普通に手続き型言語みたいなソートをすることになりますね.
2013-01-27 12:06:11
関数型プログラミング言語に効率を求めちゃだめだと思ってる。Haskellの入門書とかに書いてあるクイックソートって先頭の要素をピボットにしてる時点で実用的なものじゃないことは明白だし
2013-01-27 12:06:16
in-placeな実装がかんたに作れるってのはquick sortの本質ではないと思う。実装選択の際の判断材料にはなると思うけど
2013-01-27 12:06:37