2017-12-12 5 views
1

私が保証時間制約の操作に適していますどのようなデータ構造を頼まれました。主な機能はルックアップ、挿入、削除であり、各オペレーションごとに0.000005msecなどの時間を保証したいと考えています。データは絶えず来ています。ハッシュテーブルは、非常に特定のタイムコンスタントアプリケーションにはまだ適していますか?

は良いオプション(負荷率がしきい値に達しているリサイズオプションで)ハッシュテーブルですか?私は時間の制約に基づいてしきい値を定義し、そのしきい値に達するとテーブルのサイズを変更/再ハッシュすることを意味します。それはあなたのO(1)の検索時間を与えることができるので

おかげ

+0

私は衝突が最高のルックアップ構造は、あなたのデータに多くを依存するように起こっている – Oswald

+0

発生する可能性がありますので、ハッシュテーブルは、良い選択肢だと思うドン。キーの性質は何ですか?整数?文字列?他に何か?各操作のパーセンテージは何ですか?つまり、10,000回の操作のうち、ルックアップは何パーセントですか、挿入は何パーセントですか、そして何パーセントが削除ですか?このハッシュテーブルはどのくらい大きくなると予想されますか? –

+0

インタビュアーは、特定の時間制約(T)にemphesized、彼はO(1)ハッシュテーブルの検索がguarantedする時にequivalantであるかどうか私に尋ねましたか?そうでない場合は、どのようなデータ構造ですか?それから彼は挿入と削除を続けた。負荷係数とT値を関連付けることができたと私は考えていました。だから、@ JimMischelどのように各データ型の引数を進めていますか? – Nazgol

答えて

0

ハッシュテーブルを使用すると、ルックアップのために持っている最良の選択肢です。挿入や削除のためにあなたはあなたが指定したように、テーブルを焼き直しする必要があるか、例えば衝突ハンドリング技術の一つに従いますのいずれかの衝突のためのケースを検討する必要がありますリニアプロービング、クワッドプロービングなどがありますが、データが絶えず更新されるにつれて、テーブルのサイズ変更が頻繁に行われます。

関連する問題