2011-06-29 51 views
0

散列函數將Key轉換爲整數散列值,是否可以將整數作爲Key?使用整數作爲鍵的散列表

與升壓::哈希函數看來我得到的散列值相同的整數...所以我在急難

+0

也許你正在尋找一個密碼哈希?這完全是另一回事。 –

+0

是的,我剛剛意識到我誤解了一些概念,我想優化一些東西,但這會導致我陷入困境 – Guillaume07

回答

5

用整數這不會是一個問題,一點點,不是嗎?相等的輸入值會產生相同的散列值,而不同的輸入值會產生不同的散列值。這是完美的散列函數!

+0

您所描述的是散列函數的最小*要求。事實上,它甚至不需要創建不同的值......所以我不會稱它爲完美* :) –

+2

@yi_H:身份函數(OP描述的)當然是一個完美的散列函數。 –

+0

我沒有意識到你將它用作技術術語..可能是因爲你使用'the' –

4

如果您查看std::hash(例如functional_hash.h或類似的東西)的實際實現,您將會看到,對於大多數整型,它只是標識函數!由於散列函數純粹是爲了數學而不是用於加密的目的,因此不要求它是對該範圍的「隨機」映射,因此該標識確實是非常合適的。