タグ

algorithmに関するrobamotoのブックマーク (3)

  • /0 » diff(2)

    diff続き。 今回はO(ND)アルゴリズムと一般的に呼ばれている方法のまとめ。 O(Nなんちゃら)とか表記する場合、当は処理時間の指標の筈で、元々O(ND)もこのアルゴリズムにはO(ND)掛かりますよってダケの筈なんだけどなぁ・・・。 何処を覗いてもMyers氏のアルゴリズムをO(ND)アルゴリズムと呼ぶ不思議。 diff(1)と同様に 集合 A(0…M) = { a b d e f a b c e d } 集合 B(0…N) = { d a b a b c b c b a e d } のdiffを取る事を考える。 (エディットグラフは前回参照で) エディットグラフ上の最短距離を考えるにあたり、如何に効率よく斜線部分を通るかを考える(最短距離=最も効率よく斜線部分を通過した経路)。 ここで、斜線斜線と呼ぶのも、原文diagonal直訳の対角線もちょっとアレなので、あえて

    robamoto
    robamoto 2008/09/16
    diff・文書比較のアルゴリズム
  • /0 ≫ diff(1)

    仕事でdiffとる必要があって、とりあえず実装後に色々勉強して理解できたので、忘れないうちにどこかに文章化しておくテスト。 って、ここかよ<文章化 (いや、ネット上に日語で細かく解説してくれてるサイトが無かったので・・・) 取り合えず、予定としては diff(1) → 基の考え方 diff(2) → アルゴリズム1:O(ND)アルゴリズム diff(3) → アルゴリズム2:O(NP)アルゴリズム の予定で。 ・・・まぁ、全部書ければいいな・・・と(遠い目) 集合 A(0…M) = { a b d e f a b c e d } 集合 B(0…N) = { d a b a b c b c b a e d } のdiffを取る事を考える。 diffの考え方の基は、最も共通部分が長くなる組み合わせ(以降LCS = LargestCommonSubsequence)を見つ

    robamoto
    robamoto 2008/09/16
    diffのアルゴリズム・文書比較のアルゴリズム
  • あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな

    あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。

  • 1