我有一個散列表,字符串鍵和值。減少查找數量的有效方法?
鑰匙必須根據某些參數構造。 例如,param1:param2:param3:param4:param5:param6。如果整個鍵的值(最優先的值)在散列中不可用,我將通過構造鍵「:param2:param3:param4:param5:param6」來查找下一個首選值。
如果沒有它的價值,我會通過刪除一個或多個參數來構造具有特定組合參數的鍵。所以,基本上有一個基於某種偏好的關鍵查找層次結構。
我目前的做法是構造一個鍵,查找,然後是如果在哈希中沒有找到它,在層次結構中構造下一個鍵,等等......但是這可能導致許多查找,然後我找到一些或沒有值。請注意,可能有多個鍵返回值,例如「參數1:參數2:參數3:參數4:參數5:參數6」和「:參數2:參數3:參數4:參數5:參數6」可能具有該值,但我更喜歡第一個鍵的值,甚至不會查找第二個鍵。
我懷疑可能有更有效的方法來解決這個問題。做這種查找最有效的方法是什麼?
你可以自定義你自己的散列函數嗎? –
我不希望自定義哈希函數,因爲我正在使用現有的庫。我只能自定義鍵和值。但是,如果我可以定製,它會如何幫助? – Nura
另外,你是否喜歡用解決這個問題的語言? –