タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmに関するyaoki_dokidokiのブックマーク (6)

  • アルゴリズム入門

    アルゴリズム入門はアルゴリズムを独学したい人のページです。アルゴリズムってなに?という人からフローチャートの書き方、ソートなどの一般的なアルゴリズムを解説しています。練習問題なども収録しています。

  • 「短縮URL」って枯渇しないのですか? たとえば htn.to のだとアルファベット(大文字、小文字)+数字で [a-zA-Z0-9]^6 で 56,800,235,584 通り??…

    「短縮URL」って枯渇しないのですか? たとえば htn.to のだとアルファベット(大文字、小文字)+数字で [a-zA-Z0-9]^6 で 56,800,235,584 通り??(←そもそもこれであってます?) また、一度使われた短縮URL って以前使われてないかとかってチェックされてるのでしょうか? すでに、10億通りの短縮URL が使われてたとして、一瞬で 10億ものチェックをしてるのかな、と。 ちょっと疑問に思いました。

  • 短いハッシュの作り方 - OKWAVE

    いくらでも方法はあるので、質問者さんが挙げられているサイトが実際にどうやっているかはわかりませんが、 6文字程度の文字列では、「衝突しないハッシュ関数」を作るのは非常に困難であり、「衝突が発生する」ことがあるのを前提にして設計しないとといけません。 こういう場合、「ハッシュテーブル」におけるハッシュの取り扱いが参考になるでしょう。 ハッシュテーブルにおけるハッシュ関数は、名前が同じ「ハッシュ」でも、取り扱い方はmd5やsha1などとは異なります。 ハッシュテーブル用のハッシュ関数にはいろいろありますが、 中でもKnuth のアルゴリズムが有名です。 そういったハッシュ関数を使って最大値[62^6]のハッシュを生成し、それを 62進数に6桁に変換して、それを文字列化すればいいでしょう。 Knuth のハッシュ関数: http://d.hatena.ne.jp/yamanetoshi/2009

    短いハッシュの作り方 - OKWAVE
    yaoki_dokidoki
    yaoki_dokidoki 2013/06/28
    ハッシュテーブル、カウンタ、、、
  • レコメンデーションとエディットグラフ

    1 <html> 2 <head> 3 <script type="text/javascript"> 4 function getStringById(id) { 5 var element = document.getElementById(id); 6 var str = element.value; 7 if (str == undefined) { 8 str = element.innerHTML; 9 } 10 return (str == undefined) ? "" : str; 11 } 12 13 window.onload = function() { 14 var text = getStringById('text'); 15 document.getElementById('area').innerHTML = text; 16 } 17 18 functi

    レコメンデーションとエディットグラフ
    yaoki_dokidoki
    yaoki_dokidoki 2012/04/19
    こっちも
  • 文書比較アルゴリズム Diff/エディットグラフによる比較アルゴリズム - くらげのChangeLog

    http://www.slash-zero.jp/archives/program/466 http://www.slash-zero.jp/archives/program/468 http://www.slash-zero.jp/archives/program/476http://hp.vector.co.jp/authors/VA007799/viviProg/doc5.htm ■Diffとは何か 感覚的には理解できるDiffだが、厳密なアルゴリズムとしてのDiffとは何かを説明する。 AとBのDiffとは、 AとBの「最も共通部分が長くなる組み合わせ(LCS)」を見つける作業 または、 要素の追加/削除のみの操作で、「最も少ない操作でAからBを作成する手順(SED)」を見つける作業 ……である。 (以上の2つは別のアルゴリズムであり、結果は異なる場合がある) ここでは、「最も少な

    文書比較アルゴリズム Diff/エディットグラフによる比較アルゴリズム - くらげのChangeLog
    yaoki_dokidoki
    yaoki_dokidoki 2012/04/19
    よくわからないけど一応
  • レーベンシュタイン距離 - Wikipedia

    レーベンシュタイン距離(レーベンシュタインきょり、英: Levenshtein distance)は、二つの文字列がどの程度異なっているかを示す距離の一種である。編集距離(へんしゅうきょり、英: edit distance)とも呼ばれる。具体的には、1文字の挿入・削除・置換によって、一方の文字列をもう一方の文字列に変形するのに必要な手順の最小回数として定義される[1]。名称は、1965年にこれを考案したロシアの学者ウラジーミル・レーベンシュタイン (露: Влади́мир Левенште́йн) にちなむ。 レーベンシュタイン距離は、同じ文字数の単語に対する置換編集に使われているハミング距離の一般化であると見なすことが可能である。レーベンシュタイン距離の更なる一般化として、例えば一回の操作で二文字を変換する等の方法が考えられる。 実際的な距離の求め方を例示すれば、「kitten」を「s

  • 1