我有一个散列表,字符串键和值。减少查找数量的有效方法?
钥匙必须根据某些参数构造。 例如,param1:param2:param3:param4:param5:param6。如果整个键的值(最优先的值)在散列中不可用,我将通过构造键“:param2:param3:param4:param5:param6”来查找下一个首选值。
如果没有它的价值,我会通过删除一个或多个参数来构造具有特定组合参数的键。所以,基本上有一个基于某种偏好的关键查找层次结构。
我目前的做法是构造一个键,查找,然后是如果在哈希中没有找到它,在层次结构中构造下一个键,等等......但是这可能导致许多查找,然后我找到一些或没有值。请注意,可能有多个键返回值,例如“参数1:参数2:参数3:参数4:参数5:参数6”和“:参数2:参数3:参数4:参数5:参数6”可能具有该值,但我更喜欢第一个键的值,甚至不会查找第二个键。
我怀疑可能有更有效的方法来解决这个问题。做这种查找最有效的方法是什么?
你可以自定义你自己的散列函数吗? –
我不希望自定义哈希函数,因为我正在使用现有的库。我只能自定义键和值。但是,如果我可以定制,它会如何帮助? – Nura
另外,你是否喜欢用解决这个问题的语言? –