我在这里搜索过这个问题,但是没有看到任何关于二叉树的优化直径的问题。
How do we find diameter of a binary tree if parent pointer to each node is given.
Definition of tree diameter is : Longest distance between two nodes of tree.
编辑::请使用父指针找到直径。我知道用递归法求出直径,这是通过求出最大直径(左直径、右直径和树高)来实现的。
节点结构如下:类节点{节点左侧;节点右侧;节点parentPointer;int数据;
}
我已经写了一个网站,它使用DirectionsService of Google API v3来查找两个用户定义的位置之间的驾驶距离。
我发现它在一天中的不同时间或一周中不同的时间产生不同的结果。
例如,我在科布里奇和格兰杰茅斯之间跑了两次,第一次告诉我距离是41.8公里,第二次说是39.9公里。
我怀疑这可能会受到目前交通状况的影响。我在Google文档中没有找到任何线索。
还有其他人遇到过这个问题吗?更重要的是,有人有解决办法吗?
编辑:
目前交通状况的影响似乎是Google的一个已知的“功能”(感谢您的输入@vitor),但到目前为止,还没有人提出“关闭”此功能的方法。
怎样才能防止结果
我感兴趣的是两个单词列表的函数,它将返回它们之间的顺序不可知编辑距离。
也就是说,参数将是两个单词列表(假设以空格分隔),返回值将是列表中单词编辑(或Levenshtein)距离的最小和。
"cat rat bat"和"rat bat cat"之间的距离将为0。"cat rat bat"和"fat had bad"之间的距离将与"rat bat cat"和"had fat bad"之间的距离相同,4。如果列表中的单词数量不相同,则较短的列表将填充0长度的单词。
我的直觉(没有在计算机科学课上培养过)
我在PostgreSQL中有两个大型数据库(500k到3M行),每个数据库都包含一组GPS lat longs。我需要将一个数据库中的所有坐标与另一个数据库中的坐标进行比较,并找到彼此之间在300米内的点。
我开始使用PostgreSQL,因为我听说了它的空间索引,它可以大大加快与几何相关的任务。这个想法是使用空间索引,例如R树,只检查已经确定彼此接近的节点,而不是每次O(n^2)检查整个数据库。
然而,我找不到任何与此相关的东西。*编辑:我不是在寻找距离计算算法,我是在寻找优化,以加快我的2个表中位置的比较。所以这不是一个重复的问题。