タグ

Sortに関するkiyo_hikoのブックマーク (15)

  • https://www.reddit.com/r/Windows10/comments/xbq9vs/how_to_combine_files_and_folders_so_that_they_are/

    kiyo_hiko
    kiyo_hiko 2023/12/26
    残念ながら無いみたいだ。SuperuserかStackExchangeあたりでも見たが、*.*で検索して場所をcurrent folderにすれば?と書かれていたがこれもきっちりseparateしてsortされる。PowerShellでgci | sort <キー:LastWriteTimeなど>ぐらいかしら?
  • Vim - Sort each line of numbers in a file?

    kiyo_hiko
    kiyo_hiko 2023/09/06
    CSVとかで使いそうな単一行の中のデータをソート。参考ににしてCSVのソートが書けた:「g/<filter>/cal setline('.', join(sort(split(getline('.'), ' *, *'), "CustomComparator"), '<glue>'))」CCはアリティ2の宇宙船演算 / (blogにメモっとこうかな)
  • vimで重複行を一つにまとめる(重複分を削除) - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    vimで重複行を一つにまとめる(重複分を削除) - Qiita
    kiyo_hiko
    kiyo_hiko 2022/05/06
    `sort -u`
  • ls -l をサイズ順にソート。超一瞬版 - Qiita

    環境は Debian wheezy 7.5 ですがLinuxなら大抵問題ないかと。 追記: 最後におまけつきます。「超一瞬版」は「超一瞬で不要ということが分かった版」に変わりました。 (勝手に改行入れてます) $ uname -a Linux hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3 x86_64 GNU/Linux $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 7.5 (wheezy) Release: 7.5 Codename: wheezy $ ls -l | sort -k 5 ...(省略しまして)... -rwxr-xr-x 1 dmiyakawa dmiyakawa 1853

    ls -l をサイズ順にソート。超一瞬版 - Qiita
    kiyo_hiko
    kiyo_hiko 2020/02/28
    ll | sort -k 5 か。便利
  • オブジェクトの並べ替え - PowerShell

    Sort-Object コマンドレットを使用すると、表示データを見やすく整理できます。 Sort-Object では、並べ替え条件としてプロパティ名 (複数可) を指定すると、そのプロパティ値で並べ替えられたデータが返されます。 基的な並べ替え 現在のディレクトリ内のサブディレクトリとファイルを一覧表示する問題について考えます。 LastWriteTime で並べ替えた後、Name で並べ替えるには、次のように入力します。 Get-ChildItem | Sort-Object -Property LastWriteTime, Name | Format-Table -Property LastWriteTime, Name LastWriteTime Name ------------- ---- 11/6/2017 10:10:11 AM .localization-config 1

    オブジェクトの並べ替え - PowerShell
    kiyo_hiko
    kiyo_hiko 2019/05/27
    > gci $root -Recurse | Sort-Object -Property Name -Descending ... みたいに使う。
  • Array#sort (Ruby 3.3 リファレンスマニュアル)

    sort -> Array[permalink][rdoc][edit] sort! -> self sort {|a, b| ... } -> Array sort! {|a, b| ... } -> self 配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。 ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。ブロックに2つの要素を引数として与えて評価し、その結果で比較します。ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら負の整数を返さなければいけません。両者を比較できない時は nil を返します。

    kiyo_hiko
    kiyo_hiko 2015/11/11
    宇宙船演算子でソートする
  • スラッシュドットに聞け:物理的にモノや人をソートするときはどうしてる? | スラド IT

    先日領収書の束やその他の書類を日付順に分類していたのだが、書類ソーターの類を使わずにソートしていたところ小分けの山がたくさんできあがってしまい、しまいにはどの山が何だったか分からなくなってしまった。 ふとコンピュータサイエンスの授業で習ったソートアルゴリズムを使えばいいのではと思い立ち、紙の山をすべて元に戻し基数ソートをかけたところすんなりと作業を終えることができた。その後別の作業でクイックソートやマージソートも試すことができた。 そこで質問なのだが/.erの皆は物理的にソートする際どんなアルゴリズムを使っているだろうか?

  • Hadoopのセカンダリソートを避け、より高速に値をソートする方法

    HadoopのReduceに渡されるのはキーと値のリストだが、このとき値のリストに含まれる各アイテム(値そのもの)はソートされていない。ソートされていて欲しい場合にはセカンダリソートと呼ばれるテクニックを使うのが定石とされているが、これは実装の面でも概念的な面でもバッドノウハウ的な側面がある。Hadoopには「キーをソートする」機能は実装されている。そこで、値をキーに入れてしまい、このHadoopに備わっている「キーをソートする」機能によって、実質的に値をソートしようというわけだ。 Map/Reduceというのはキーごとにデータを分割して処理する方法なので、「キーに値が入ったら分割がおかしくなるんじゃ?」と思うのは当然である。キーに値が入っていても、分割に影響しないよう、Partitioningクラスを自分で拡張し、分割の基準となる値(来のキー)には、値の影響が出ないようにするのだ。それ

  • 分布数え上げソート : アルゴリズム

    分布数え上げソートはキーの重複に対応しているといいました。キーが重複しているのは 3 です。整列後のふたつの 3 の位置(配列のインデックス)は 「Y - X」 と 「Y - 1」 で計算できます。この例だと「3 - 2 = 1」と「3 - 1 = 2」になります。 実際のプログラミングでは重複したキーの位置の計算は、作業用配列Bにコピーする時に(手順4で)配列Aの後ろから前へコピーしていくことで簡単に実装できます。 図解 特徴 バケットソートと同じくソート対象のデータがとりうる値の範囲をあらかじめわかっていなければなりません。作業領域もキーの個数を数えるための領域と結果を格納する領域が必要になります。あまりに大きな範囲のデータを取り扱うには RAM などに限度があるので物理的に不可能になります。しかし大きな作業領域と引き換えにデータの大小を比較しなくてよいので高速な整列処理を実現できます

    kiyo_hiko
    kiyo_hiko 2012/08/31
    「作業領域と引き換えにデータの大小を比較しなくてよい」
  • ストゥージソート - Wikipedia

    ストゥージソート(英: Stooge sort)は、再帰を用いたソートアルゴリズムのひとつである。 計算時間はO(nlog 3 / log 1.5 ) = O(n2.7095...)であり、これはマージソートなどの効率的なアルゴリズムよりも、それどころか非常に効率の悪い単純なソートの例としてよく挙げられるバブルソートよりも遅い。 アルゴリズムは以下の通りである。 もし末尾の値が先頭の値より小さければ、それらを入れ替える。 現在処理している部分列の要素数が3以上であれば、 リストの先頭2/3[1]に対してストゥージソートを行う。 リストの末尾2/3[1]に対してストゥージソートを行う。 リストの先頭2/3[1]に対して再びストゥージソートを行う。 そうでなければ終了。 実装[編集] algorithm stoogesort(array L, i = 0, j = length(L)-1) i

    ストゥージソート - Wikipedia
    kiyo_hiko
    kiyo_hiko 2012/08/31
    再帰アルゴリズム。非常にのろま。
  • readdir()で得られるファイル・ディレクトリ情報の順番は?

    そんなんやってみればいいじゃん。 Perlのスクリプティングホストの種類とか バージョンによっても違うんじゃない? こうはなったけども . .. 02jXVhQo.C 06B3babN.6 098hSVk6.Z 0A4jAI0d.h 0ckAL0nN.I 0Gh8YPdf.B 0jhFZM1W.M 0kR3589m.P 0NIVBe1e.M 0Thk4emT.a 1.c 10PHP4kW.W 11cUYISZ.Y 17UlecTe.l 19Fg1eLd.o 1dCkN4RD.f 1fJDifWh.0 1fNkP1Ho.B 1glmH3DV.4 1Gpf0WiM.N 1HhVoZIL.l 1IchCFjl.B 1INVG2b7.T 1iSPnQ6d.c 1K6dCXdb.3 1NgbaMa8.a 1odMNBB8.l 1Oi5XfIW.A 1OJUOpNj.D 1oLgcFbI.6 1P3R

    readdir()で得られるファイル・ディレクトリ情報の順番は?
    kiyo_hiko
    kiyo_hiko 2012/06/22
    Perlのreaddirで得られるファイルリストは仕様としてソートされるか、またソートされるんなら何のルールなの?という趣旨の質問。たぶん。 環境に依存するようなので、安全にいくなら自前でsortしよう
  • 基数ソート

    public void sort(int[] a){ // バケツに入っているデータ数を覚えるための配列です int[] bn=new int[bucket.length]; // 最下位桁の数字を見て、対応するバケツにデータを入れます。 for(int i=0;i<a.length;i++){ bucket[a[i]%m].add(new Integer(a[i])); notifier.notify(i,-1); } // 最初のバケツから順番にデータを取りだし、データの指定桁の値を見て、 // 対応するバケツにデータを追加します。 for(int j=1;j<k;j++){ // 現在、それぞれのバケツに何個のデータが入っているかを // 覚えておきます。 for(int b=0;b<bucket.length;b++) bn[b]=bucket[b].num; // 各バケツの先頭

  • Perlでデータの並び替え(複数の条件・複雑な条件でsortする) - kiyo_hikoの日記

    kiyo_hiko
    kiyo_hiko 2011/09/13
    これはたまに使うのでセルクマ
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
    kiyo_hiko
    kiyo_hiko 2011/07/08
    このソートをほんのちょっぴりだが体験した、いや体験したというよりはまったく理解を超えていたのだが…『要素がその値分だけsleepしたと思ったらいつのまにかソートされていた』何を言ってるのかわからねーと思うが
  • 基数ソート - Wikipedia

    基数ソート(きすうソート、英: radix sort)は、「比較によらないソート」[1]のアルゴリズムの一つで、位取り記数法で表現可能な対象について、下の桁から順番にソートしてゆき、最後に最上位桁でソートすると、全体が順序通りに並ぶ、という手法である。 nをデータの数、kを桁数として、計算量のオーダーはO(nk)である。また、アルゴリズム自身の性質により、素直な実装が安定ソートになる。[2] 前提条件[編集] このアルゴリズムは、データの種類が有限で、最大値・最小値がはっきりしているという仮定を置いており、全ての入力データが「3桁の整数」や「2文字のアルファベット」など決まった形式であることが分かっていなければならない。なおそれに加え、ある値のデータが必ず一つしか現れないとか、同じ値のデータは同一のものとしてしまって良い、といった場合には、もはやソートするのではなく、単純に、全体が入る大き

  • 1