裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

ダメ出し:順列の逆関数

2011年10月24日 | ブログラミング

http://d.hatena.ne.jp/ryamada/20110622

これはちょっとすごい(ひどい)ですね。
定義された InvSeq は order 関数の結果と同じになります。

s が長いと,悲惨な結果になります。下の例では 1 万倍以上の速度比。

> s <- sample(10000) # sample(1:10000, 10000)  などとする必要はない

> system.time(invs <- InvSeq(s))
   user  system elapsed
 22.910   3.197  25.971

> system.time(invs2 <- order(s)) # 一瞬で終わる
   user  system elapsed
  0.002   0.000   0.002

> all.equal(invs, invs2)
[1] TRUE

> 22910/2
[1] 11455

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ダメ出し:ぐるぐる回るために | トップ | ダメ出し:12.3 いろいろな信... »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事