编写了一个二进制搜索树,用于在船上存储数据,搜索的关键是它们的声学特征。
搜索树时,我想要返回具有正确签名的船舶或与搜索到的签名最匹配的船舶。 (通过查看哪艘船具有最接近的欧几里德距离)。
我遇到的问题是如何比较实际数值以外的签名。这意味着所执行的任何搜索都是顺序的而不是二进制的?
有什么想法吗?
答案 0 :(得分:2)
您正在做的事情是多维度的nearest-neighbour search。你只能用一棵二叉树来解决这个问题;你需要一些空间分区结构。
如果数组长度N很小(单个数字),则可以使用2 ^ N-ary树(quadtree,octree,...)作为二叉树的推广。
适用于更高维度的流行选择是Kd-tree。