タグ

解説とソートに関するiwwのブックマーク (4)

  • QuickSort Killer

    We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

    QuickSort Killer
  • 時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog

    IETFに「New UUID Formats」という提案仕様が提出されています。 これは、時系列順にソート可能なUUID version 6, UUID version 7, UUID version 8を新しく定義するものです。 詳しい背景は提案仕様にゆずりますが、ULIDを始めとして、時系列順にソート可能な一意な識別子を利用したいというユースケースがあります。例えば、データベースのキーとして使えば、ソートせずとも順番に並びますし、書き込む際も順々に書き込めるのでデータアクセスが局所的になります。 今回は簡単に、それぞれのUUIDのフォーマットを眺めていきます。なお、フォーマットは異なりますが、バージョンを示す値は同じ位置にあります。 UUIDv6 UUIDv6は128bit長で、UUIDv1と似てるフォーマットを取ります。 1582年10月15日(グレゴリオ暦)からの100ナノ秒単位で

    時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog
  • sort コマンドで大容量テキストをソートする - Qiita

    概要 テキストをソートする sort コマンド. 気軽に使えて優秀なコマンドだが, 大容量のデータに耐えられる 点も魅力の一つである. 稿ではこのポイントを紹介したい. 確認環境 以下の sort コマンドの挙動を Mac OS X 上で確認した. 稿のコマンド例はすべて GNU coreutils sort を用いたものである. GNU coreutils 8.31 2.3-Apple 大容量のテキストをソートしてみる sort コマンドは, かなり大容量のテキストを入力してもソートを完遂することができる. 完遂するという要件を満たすだけであれば, マシンスペックにほとんど依存しないことがポイントだ. 試しに大容量テキストをソートしてみよう. 以下に 10,000,000 レコードの乱雑なテキスト 1 をソートする例を示す. $ time (base64 /dev/urandom |

    sort コマンドで大容量テキストをソートする - Qiita
    iww
    iww 2020/03/25
    『バッファがいっぱいになるとバッファ中のデータをソートして, 一時ファイルとして出力する. 入力が完了すると, ソートされた一時ファイルを順にマージ』 なるほどそうやってんのか。 昔の人は賢いな
  • マージ・ソート : 巨大データのソート法

    はじめに まずはともあれ腕試し、この問題を解いてみてくださいな: 【問1】 デタラメな順序で並んだ文字列の集合がテキストファイル「input.txt」に収められています。この文字列群を辞書順(昇順)に並び換えたテキストファイル「sorted.txt」を作りなさい。 ※各文字列は改行で区切られています。 プログラミング教の練習問題、あるいは学校の課題で出てきそうな“お馴染み”の問題です。ソート(整列)アルゴリズムの実装には配列/代入/条件分岐/ループなどなどプログラミングの基中の基となる構文を総動員するため、練習問題としてよく使われますね。 早速解いてみましょう、ソート・アルゴリズムにはこれまたお馴染みのバブル・ソートを使います。C#、VB.NETC++/CLIの3まとめて一気にいきますよ: using System; using System.IO; using System.C

    マージ・ソート : 巨大データのソート法
  • 1