Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 寻找成熟的M-Tree实现_Java_Data Structures_Tree - Fatal编程技术网

Java 寻找成熟的M-Tree实现

Java 寻找成熟的M-Tree实现,java,data-structures,tree,Java,Data Structures,Tree,我正在寻找一个成熟的java m-Tree实现——甚至是任何m-Tree实现(除了我找到的唯一实现之外) 对于那些没有听说过M-tree的人(比如我2天前),M-tree是一种搜索树,当它使用的键可以放在“公制空间”(M代表公制)中时,它可以检索“n个最近的条目”或“距离d内的所有条目” 我在网上找到了一个: 此实现在必要时是可行的,但它不可序列化,不提供“contains()”方法,并且它当前正在抛出一个断言错误(我已经知道如何修复) 如果存在一个稍微更完善的实现,我想知道,因为这个数据结构

我正在寻找一个成熟的java m-Tree实现——甚至是任何m-Tree实现(除了我找到的唯一实现之外)

对于那些没有听说过M-tree的人(比如我2天前),M-tree是一种搜索树,当它使用的键可以放在“公制空间”(M代表公制)中时,它可以检索“n个最近的条目”或“距离d内的所有条目”

我在网上找到了一个:

此实现在必要时是可行的,但它不可序列化,不提供“contains()”方法,并且它当前正在抛出一个断言错误(我已经知道如何修复)

如果存在一个稍微更完善的实现,我想知道,因为这个数据结构似乎非常有用,我想找到一个规范的实现

---添加了更多信息(努力避免此问题被关闭)---

我的最终目标是一个映射,“public Value get(Key)”方法返回“最近的”值,即使没有精确的键匹配。因为我使用的键是在度量空间上定义的,所以我在MTree上寻找来处理这个问题的“最近”部分


上面的实现不起作用,因为(1)在两次输入同一个密钥时失败,(2)它不允许我删除密钥,以及(3)它不允许我测试是否已插入密钥。

询问我们推荐或查找工具的问题,图书馆或喜爱的非网站资源因堆栈溢出而脱离主题,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决问题所做的工作。我尊重并分享“垃圾邮件”的担忧。然而,由于我不知道有任何其他实现(除了我提到的那个),我不知道任何人怎么会对为什么一个实现可能比另一个更好有一个“固执己见的答案”。@Dukeling——我理解。请记住,这项政策会让人们将这样的问题重新表述为“XYZ数据结构的规范用例”,并希望预期的答案“您应该使用XYZ数据结构”与注释“在这里实现得很好”(您可能会认为这是不必要的间接)@Ivan:但这是一条规则,在stackoverflow上有很多声誉的人喜欢规则。把你的问题说得更难听一点,你可能会把它重新打开。这个“规则”是愚蠢的,执行它的工作人员也是如此。对于软件开发人员来说,搜索特定算法的良好实现是一件非常常见的事情。已经有足够的机制来解决垃圾答案。仅仅因为一个问题/可能/吸引不好的答案而结束它就像溺死一个婴儿,因为你担心它可能会生病。