パフォーマンス上の理由から、文字列で識別されるオブジェクトのセットをグループに分割する必要があります。オブジェクトは、数字または識別子の一部をドットで区切る接頭辞(修飾)形式の文字列のいずれかで識別できます。
12
323
12343
2345233
123123131
ns1:my.label.one
ns1:my.label.two
ns1:my.label.three
ns1:system.text.one
ns2:edit.box.grey
ns2:edit.box.black
ns2:edit.box.mixed
数値識別子は1から数百万です。テキスト識別子は、同じ名前空間プレフィックス(ns1 ::)と同じパスプレフィックス(edit.box。)で始まるものが非常に多い可能性があります。
この目的に最適なハッシュ関数は何ですか?オブジェクト識別子の統計に基づいて、バケットのサイズを何らかの形で予測できればよいでしょう。いくつかの統計情報に基づいて優れたハッシュ関数を構築するための優れた記事はありますか?
このような識別子は数百万ありますが、目的はハッシュ関数に基づいて1〜2千のグループに分割することです。