作者: 藤岡和夫
日時: 2004/1/04(11:55)
極悪さん。毎度丁寧な実験をありがとうございます。

大変勉強になりました。コメントを書くにも、理解するのが大変です。

On Sun, 04 Jan 2004 00:17:21 +0900
dune <FZH01112@...> さんwrote:

> Schwartz 変換は @nifty フォーラム時代にわたなべさんがさりげ
> なく紹介してたと思いますが、ソートを始める前にフィールド(ソ
> ートキー)と元々のデータを配列に変換しておくものです。ソート
> 中はフィールドの比較だけすればいいので処理が速くなります。

nifty:FGALTS/MES/07/7386 Schwartzian Transform

ですね。ファイルをタイムスタンプでソートする例を出されて解説されています。

最初にファイルすべてのタイムスタンプを取得しておいて、次にタイムスタンプ
(実際には-M)でソートして、最後にファイル名を取り出すというものでした。

> 
> Guttman-Rostler 変換は配列ではなくひとつの文字列に変換するも
> のです。ソート中は文字列の比較だけになるので、配列のデリファ
> レンスが不要になり、sort 関数自体も組み込みの比較処理を使う
> ので最速になります。

なるほど、これはわかりやすいですね。連想配列を値でソートするとき、タブで
区切ったデータの先頭にソートしたいフィールドを持ってくるというのに近いよ
うな気がしますね。いや、それでいいのかどうかはあまり深く考えていないので
すが・・・自分で使うだけならいい加減になっちゃう。最初のほうで勝負がきまっ
てしまうならOKですか。

藤岡 和夫
FGALTS@...
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/