我遇到一种情况,我需要找到与我请求的键最接近的值。它有点像定义键之间距离的最近地图。
例如,如果我在映射中有键 {A, C, M, Z},则对 D 的请求将返回 C 的值。
任何想法?
大多数树数据结构使用某种排序算法来存储和查找键。许多这样的实现可以找到与您探测的键相近的键(通常是最下面的或最上面的)。例如Java的TreeMap
实现这样的数据结构,您可以告诉它获取查找键下方最近的键,或查找键上方最近的键(higherKey
and lowerKey
).
如果你可以计算距离(它并不总是那么容易 - Java 的接口只要求你知道任何给定的键是否“低于”或“高于”任何其他给定的键),那么你可以要求最接近的上方和最接近的下方,然后计算你自己看看哪一个更接近。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)