あるエンジニアの面接で、ソートについて聞かれたら
この世には二種類のエンジニアがいる。 挿入ソートとノームソートの区別がつかないエンジニアと、 挿入ソートとノームソートが全く違うアルゴリズムに見えるエンジニアだ。
2021-10-13 22:10:14ソートの質問の件、「クイックソート」と具体的なアルゴリズムを答えた時点で、面接官の方が色々察して「計算量についてわかってるならまぁいいかな」と質問を切り替えたのだと思う。
2021-10-13 22:10:49特定のソートアルゴリズムへ思いを馳せる前に、そこを流れるであろうトランザクションの量と、それを安全に捌く仕組みに気が向くし、なんならしないで済むならソートしないからな。(取りたい|更新したい)データのアクセシビリティを考えるときの参考にはするけど。
2021-10-13 22:10:52クイックソートがトレンド入りしてると聞いて ループ文の演習で「ソートを実装しろ」という問題に対して Arrays.sort使ったらドチャクソ怒られたのを思い出した オーダー記法なんて業務で使ったことないけど、 O(N^2)のコード見て発狂したことはある
2021-10-13 22:11:20言語によっては標準関数が問題を抱えるケースがある(旧来のPHPとかRの乱数生成とか)し、問題によってはソートアルゴリズムをよくしても解けないからヒューリスティックを導入してデータ量を減らすみたいなビジネス踏まえた解決策が必要になることもあるなぁ。という場面かなぁ。しらんけど。
2021-10-13 22:11:40イントロソート。初めて知った。C++erには常識?二分ヒープだと、セグ木みたいに一本の配列で木構造が書けるから、マージソートより速いのかな?
2021-10-13 22:11:42@ono_noriko ありますわ。 他に基本的なのだと選択ソート、挿入ソート、マージソート等かしら? 後はソートが安定なのか不安定なのかも重要ね。
2021-10-13 22:11:53「ソートなんてライブラリに任せるから計算量なんて気にしない」とか言う人、入力データの性質によって使うライブラリを変えたりしないんだろうか?
2021-10-13 22:12:24クイックソート?情報処理試験で出てきたかなくらいの記憶です。 むしろ情報処理試験受けてなかったら全くわからないってことだから、やっぱり資格試験は大事だね。
2021-10-13 22:12:34「Q5-4. クイックソート」の提出結果は AC(正解!) でした! 詳細はこちら↓ algo-method.com/submissions/11… #アルゴ式 クイックソートで解いてません、許して
2021-10-13 22:13:42ソートの計算量程度なら簡単だけど、行列積の計算量とかになると専門的すぎてちょっと理解できないからなぁ… シュトラッセンのアルゴリズムの計算量を示せる人とか絶対一握りしかいないよね
2021-10-13 22:14:22クイックソート、そういえば最悪計算量がO(n log n)なソートもあるのに平均計算量でクイックって言われてるのが納得いかない。最悪O(n log n)なソートより実用上速かったりするんだっけ。
2021-10-13 22:15:10もう10年くらい経つのかな? プロコン勢が書いたアルゴリズム本を買って見たら、載ってるソートアルゴリズムの説明のどこにも安定性の話が書いてなくてそっ閉じした記憶ががが twitter.com/rayfill/status…
2021-10-13 22:16:49ソート、アルゴリズムも確かに十葉だろうと思うけど実務分野だと係数によって普通にビッグオー表記の想定とずれた答えでることよくあるし計測せよスタイルの方がいいんじゃないですかね ソートだとむしろ安定か否かの方が気になる
2021-10-13 17:07:08