Block Sort Algorithm (BWT) part2
前回の記事:(http://d.hatena.ne.jp/studiokingyo/20060224)
なんか、ちょっと思ったんだけど・・・
blocksortって使用するアルゴリズムによってソート結果が変わるような気がするんですけど・・・
皆さん、そう思いません?
何故そうなるかは分からないけど、実装していてどうも、他のBlocksortの実装と処理結果が合わないのでそう思っているんですけど・・・
コメントできましたらよろしくお願いします。ペコm(_ _;m)三(m;_ _)mペコ
追記:ウソでした。詳しくは下記の原因を参照
追記:なんか、やっぱり私の実装がおかしいみたい・・・ウーム
さらに追記:なんか、google:bsEncoder.hppの実装の処理結果とmoceanstar氏のhttp://d.hatena.ne.jp/moceanstar/20060220/1140433699
実装の処理結果が違う・・・、ちなみに私の処理結果もmoceanstar氏と同じだ。さらに私はgoogle:M.Hiroi氏のHPで紹介されているblocksortの記事を参考に実装した。なのでM.Hiroi氏のblocksortとの処理結果は同じだ。
どうも、bsEncoder.hppの挙動とM.Hiroi氏系の挙動が違うらしい。(さっきテストしたら挙動が一緒だったんだけど。。。あれ?なんか違うぞ・・・)
なんでこうなるんだろう・・・おrz!!someone help me!! &-|
原因:ファイル入力処理に差異があったため間違っていた。(NULL文字を含むか含まないかだった。)
おまけ
56kbyte random data
1 / bsEncoder sort / 14739753
3 / bs quick sort / 110580817
やっぱりbsEncoderは私のクイックソートの実装(しかもバグっている)より10倍速かった。おrz!!!
やっぱりO(n)のソートアルゴリズムを採用しなければならないようだ・・・