• 締切済み

ハッシュ法(coalesced hashing)ってなんでしょうか?

ハッシュ法について勉強していたのですが、 『coalesced hashing』 が理解できませんでした。 どなたか、分かりやすく教えてください(>_<) また、ハッシュの衝突に関する良いHPがあったら、 教えてください。 よろしくお願いします。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

ちょっと調べたところでは Wikipediaの説明が単純明快でわかりやすいと思うんですが、 どこでこの手法を知ったのですか? Coalesced hashing - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Coalesced_hashing にあるプログラム片を見ればすぐに理解できるような気がするんですけど、 これでもわからないのなら改めて説明します。 残念ながら日本語版の Wikipediaには上記のエントリに対応するものはないようですね。 Coalesced hashingに対する訳語も存在しているのかどうかわかりません。

to_koto
質問者

補足

迅速なレスポンス、ありがとうございます。 英語の参考書でハッシュについて勉強していたのですが・・・ 日本語訳語は・・・存在しているか分からないですか・・・ もう少しレスを待ってみます +もう少し、がんばって解読してみます・・・

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • オープンハッシュ法とチェイン法の違いについて

    今、ハッシュ法を勉強しています。 オープンハッシュ法とチェイン法の違い、それぞれのメリット・デメリットをを教えてくれると嬉しいです。 よろしくおねがいします。

  • ハッシュ法について

    今、アルゴリズムの教科書を読んでるんですが、ハッシュ法の意味が分かりません。 教科書にはハッシュ法はキーの検索をレコードの数によらずほとんど一定時間で行えるキー検索であると書いてあるんですが、レコードって何ですか? キー検索って何ですか? 回答よろしくお願いします。

  • ハッシュ法について

    ハッシュ法とは何のためのアルゴリズムなんでしょうか? 入力データと出力データ、必要な条件についても教えていただきたいです。

  • ハッシュ法(オープンアドレス)線形探査法と再ハッシュ法

    1から10000までの数字がランダム(重複なし)にはいっているファイルから任意に10個の数字を選びハッシュ法(オープンアドレス)の線形探査法と再ハッシュ法を使って探すプログラムを作りたいのですがまったく手がでません。さらに探査回数と実行時間も出力しなければなりませんが、こちらはなんとかできます。ハッシュ法というのが初めてで困っています。どなたか教えてください。お願いします。 ちなみにファイル名は次のようにmain関数中に絶対パスで記述します。 char infile[20] = "/integer.dat"; int in[10]={20,168739,701,52774,44476,185,994737,124623,645300,999901};

  • ハッシュ法

    ハッシュ法で作ったデータ構造をファイルに書き込む、またファイルからの読み込みを行うにはどうしたら良いのでしょうか?? 連結リストの場合、ファイルを開いてから下のようにすれば書き込める事が分かったので、下の操作をハッシュテーブルの大きさ分だけ繰り返せば良いのかな、と思ったのですができません(> <) for(pos = g_syain_head; pos != NULL; pos = pos->next) {  offset = sizeof(Syain) * i; fseek(fp, offset, 0); fwrite(pos, sizeof(Syain), 1, fp); i++; } 誰か分かる方お願いします!!

  • ハッシュについて教えて下さい

    現在出来るだけ高速に大量の英単語の登録(検索)を行いたいと考えています。 現在は受け付ける文字の種類を進数にして桁上げして、クローズドで(最初にがっぽり配列を用意してその中のどこかに入れる形式で)計算しています。 例えば0~9の文字のみ受け付ける仕様だとすると、文字の種類は10種類なので、「192」という文字列なら、 1*10^2 + 9*10^1 + 2*10^0 = 192番地に登録 といった感じです。今回大小アルファベットを含むので10→62で計算しています。 しかしこの方法では、62進数が膨大な数になるため、配列に上限があることから、完全なユニークな数値が生成出来ません。 ある程度ハッシュ値がぶつかってしまいます。 完全にユニークな数値は無理でしょうが、出来るだけ衝突は避けたいと考えています。 そこで、もっと効率よいハッシュ値を求めるMurMurHash 2.0というアルゴリズムを聞いたのですが、HPを見ても何が何だかよくわかりません; HPにてMurmurHash2.cppが公開されているので、もしご存知の方がいらっしゃればそのアルゴリズムを教えていただけないでしょうか。 http://www.google.co.jp/search?hl=ja&rlz=1C1GGLS_jaJP302JP303&q=MurMurHash+2.0&btnG また、高速な文字列登録(検索)を行う為の方法があれば教えて下さい。 よろしくお願いいたします。

  • 誰かc言語でのハッシュの作り方教えてください

    c言語でハッシュのモジュールをつくらねければならないんですが、そもそもハッシュというものがサイトを見てもうまく理解できないんです。誰か、理解しやすく教えてくれませんか?

  • ハッシュ(メッセージダイジェスト)について

    よろしくお願いいたします。 現在セキュリティの勉強をしております。 で、ハッシュについて確認したく投稿いたしました。 自分なりに勉強をして、 送信者がデータをハッシュ関数を使用してメッセージダイジェストを 作成し、受けても同じ事を行うのはわかりました。 つまり、 [データ]+[メッセージダイジェスト(データに添付する)]+[デジタル署名(データに添付する)] の3点をまとめて暗号化し、 受け取った相手が秘密鍵で [データ]+[メッセージダイジェスト]+[デジタル署名]に複合し 自分でもハッシュ関数を使用してメッセージダイジェストを作成し 送り手のダイジェストと比較すると理解しましたが 正しいのでしょうか? また、同じハッシュ関数で自分でも作成するみたいですが どこにハッシュ関数の情報が載っているのですか? いまいち自信が持てませんのでアドバイスお願いいたします。

  • Perlでいうハッシュとはどのようなものでしょうか?

    パールを勉強しています。 ハッシュとはどのようなものでしょうか。

    • ベストアンサー
    • Perl
  • ハッシュ(オープンアドレス法) C言語の課題

    努力はしてみたのですが、C言語の課題ができません。教えていただけないでしょうか。 問:名前と年齢を入力し、名前をキーとしてハッシュ(オープンアドレス法)に登録する。'-'が入力されると登録を終了し、次に入力された名前をハッシュ法で検索し、あればその人のデータをハッシュから削除する、その後、ハッシュ表の内容を出力するプログラムを作成せよ。ただしハッシュ表の大きさは5とする。 例 koizumi  入力 1     入力 fukuda  入力 2  入力 aso 入力 3     入力 -     入力 koizumi  入力 fukuda(2) 出力 aso(3) 出力 ハッシュ関数は int hash(char *name) { int ret=0; while (*name)ret += *name++; return ret%5; } 再ハッシュ関数は int rehash(int h) { return (h+1)%5; } を使おうと考えています。 内容を理解できないと困るので簡単なプログラムをお願いします。 よろしくお願いします。

男の本音
このQ&Aのポイント
  • 1週間で別れ話になり、浮気も発覚。彼氏の言葉は同情かどうか迷い中。
  • 彼氏は遊びたいから別れたいと言っているが、私は一緒にいたい気持ちもある。
  • 過去の経験から言えば、彼氏の言葉は嘘で終わる可能性が高い。別れる方法は他にあるのか。
回答を見る