1

ダブル ハッシュ ハッシュ テーブルのサイズに最適な素数は?

サイド情報

  • ハッシュテーブルは単語分析プロジェクトの一部であり、マルコフモデル、ボットをトレーニングして、他の誰かが書いたかのようにテキストをモデル化および生成します (これには、多くの単語、文、トランスクリプト、本が必要です...コーパスが大きくなればなるほど、より良い)
  • 私は素数に関するほとんどの数学に精通していませんが、皆さんが提案するすべてのものを読んでから、そこから始めようとします

私が考えていること:

  • 素数は互いに遠すぎたり近すぎたりしてはいけません---->サイズを頻繁に増やす必要はありませんが、ハッシュテーブルが半分空になることはありません(衝突が少なくなり、素数間の理想的な比率を探します負荷率とハッシュテーブルサイズ)
  • 大きなコーパスに最適 - 私が選択しなければならない素数がどのくらいの大きさであるべきかわかりません.これまでにこれをしたことはありません...
  • また、ハッシュ テーブルのサイズを 2 倍にしてから最も近い素数を探す関数 (ハッシュ関数ではない) を実装することも考えました ------> ただし、実行時間は O(n) です。素数はそれ自体でしか割り切れないため ____( 現在のハッシュ テーブル サイズの 2 倍のサイズまでのすべての数値の余りがゼロ以外であるかどうかを確認し、サイズを 1 ずつ増やして次の値に進む必要があります奇数にしてループ全体をもう一度テストします) ________ ------> それは非常に遅くなると想像できるので、より良いアプローチは、最大 100 万までの素数の固定セットを使用することです (説明目的のみ)。など、サイズの変更にはこれらを使用してください

ありがとう、追加の質問をお待ちしております

4

2 に答える 2

1

あなたの質問を完全に理解しているかどうかはわかりませんが、Javaの世界からの可能な解決策は次のとおりです。ハッシュ関数を最初から作成する必要がある場合、一般に素数が必要な理由は理解していますが、このような「良い」ハッシュ関数が使用されている場合に素数を調査する必要があるかどうかはわかりません。

お役に立てれば!

于 2015-10-03T02:26:27.483 に答える