タグ

ソートに関するslay-tのブックマーク (4)

  • Excel2016のソート仕様が想定外で苦しんだ件 - まなめはうす

    140MBのExcelデータをいじって分析をしていて、悩まされた事象を紹介。 ソート仕様どうなってるのー!というお話。 この結果を見てもらえばわかると思うんですよ。 「重複の削除」で、「A」と「a」が同じ文字として削除されるのはまだいいんです。 だから、ソートしても同じ文字と扱われて並びも変わらない。 まあ同じ文字と認識されてるんだから仕方ないのかなって思うわけですよ。 でもね、ひらがなとカタカナの方の仕様はどうかと思うんですよ。 重複の削除で削除されないってことは別の文字と認識しているってことじゃないですか。 にもかかわらず、昇順ソートしたら順番が整列されない! お前、別の文字って言ってるじゃんかよそりゃねーよ! これの対応で半日浪費してしまった・・・ いや、時間浪費の主な原因はファイルでかすぎてSUMIF駆使し過ぎたら応答全然返ってこなくなったことだけど。 Excelー!おれだー!応答

    Excel2016のソート仕様が想定外で苦しんだ件 - まなめはうす
  • 高速な比較安定ソートアルゴリズム「颯式」の紹介(ベンチマークあり) - Qiita

    颯式(はやてしき)は、「クイックソート種より高速」を目指した、マージソートの改良アルゴリズムです。 以下の特徴があります。 比較ソート 安定ソート 外部領域:N 最良:O(N) 平均:O(N log N) 最悪:O(N log N) 再帰:無し リポジトリ 颯式(はやてしき) MIT License 基となるアルゴリズム 外部領域を、2Nの連続帯として見立てます。 値を外部領域に置く際、以下のルールを適用します。 (最大値 ≦ 値)であれば、昇順列の上側に置き、最大値を更新します。 (値 < 最小値)であれば、降順列の下側に置き、最小値を更新します。 (最小値 ≦ 値 < 最大値)であれば、新しい値(最大値であり最小値)を昇順列に置き、それまでに並べた値群をPartとします。 Part群をマージします。 具体的な流れ 外部領域を、2Nの連続帯として見立てます 4 5 1 2 7 6 3

    高速な比較安定ソートアルゴリズム「颯式」の紹介(ベンチマークあり) - Qiita
  • 【Unity】ソートアルゴリズム12種を可視化してみた - Qiita

    はじめに ソートアルゴリズムの学習として、12種のソートアルゴリズムを実装して可視化してみました。 Unityにはあまり関係がなさそうな話題ですが、Unity上で作ったのでUnityタグをつけます。 バブルソート バブルソートのアルゴリズムは以下のような感じです。 配列の要素を最初から最後まで見ていき、順序が逆の要素があれば入れ替える 全ての要素の順序が正しくなるまで 1.を繰り返す. void BubbleSort(int[] a) { bool isEnd = false; int finAdjust = 1; // 最終添え字の調整値 while (!isEnd) { bool loopSwap = false; for (int i = 0; i < a.Length - finAdjust; i++) { if (a[i] < a[i + 1]) { Swap(ref a[i],

    【Unity】ソートアルゴリズム12種を可視化してみた - Qiita
  • 本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG

    コンテンツメディア事業部の新卒エンジニアがお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実

    本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG
  • 1