A required part of this site couldn’t load. This may be due to a browser extension, network issues, or browser settings. Please check your connection, disable any ad blockers, or try using a different browser.
Rabin Karp アルゴリズムでコード重複の検出 YAPC::NA で会った Fotango の Norman Nunley がつくってる Algorithm::RabinKarp モジュールが面白げです。 Rabin Karp 文字列探索アルゴリズム (wikipedia) を使って文字列のハッシュ(ダイジェスト)をチェックし、同一の値を示す部分を重複しているとみなしてレポートしてくれます。つまり、プロジェクト内のコードのコピーペーストを検出するツールとして使えるというわけ。 ためしに Plagger で試してみた結果は rabin.txt のようになりました。プラグインの register_hook や CustomFeed での Feed オブジェクトの生成など、イディオム的に使う部分が大半になってしまっていますが、いくつか実際コピペで再利用しているコードが検出できています。 c
Perl による Suffix Array の実装 2006-04-10-2 [Programming][Algorithm] 昔作った「Perlによるsuffix arrayの実装」を発掘したので公開しておき ます。 ソースコードです。 #!/usr/bin/perl -w use strict; my $t = "mississippi"; # Text - 対象テキスト my @sa = (0..length($t)-1); # Suffix Array - 初期設定 ### Suffix Array の作成 @sa = sort {substr($t, $a) cmp substr($t, $b)} @sa; # テスト出力 for (0..$#sa) { print "$_ $sa[$_] ",substr($t, $sa[$_]),"\n"; } ### バイナリサーチ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く