2010-03-04 39 views
1

我正在爲我的面試做準備,並且遇到了這個問題:如何確定存儲字典單詞的哈希碼值?

想想我有1000,000字,我想創建一本字典。我可以使用的數據結構是Map或B +樹。 但是我應該在什麼標準下編寫我的hashcode(),以便檢索速度很快。

歡迎大家的意見... ...

回答

2

我既不使用和存儲字典作爲Patricia trie代替。

它也使用較少的內存,因爲你沒有單獨存儲所有字符串的所有通用前綴。

+0

謝謝,帕特里夏特里非常有趣。很好找我探索:-) – harshit 2010-03-04 08:56:43

1

在「過去的日子」(1980年代)中,我們傾向於使用B *(或B * +)樹並且對光盤非常挑剔,但是現在有1,000,000個鍵沒有適合內存,所以將它粘在一個字典,並完成它。

並告訴面試官:與開發者的成本相比,內存接近免費。您花時間嘗試聰明的時間永遠無法通過您提出的任何事情來恢復效率。如果他們不明白爲什麼這是真的,那麼......呃。