草庐IT

shortestDistSoFar

全部标签

c++ - 垂直扫过的最近对

最近对的标准扫描线算法是众所周知的,如所述here,它使用扫描线水平扫描点集,仅保留当前点当前最佳距离内的点。通常,点最初必须按x坐标排序,边界框(在c++实现的情况下为std::set)必须按y坐标排序,如thisc++implementation中所示。.但是,在尝试实现时,我不小心忘记了按x坐标对点进行排序,而是按y坐标对它们进行了排序。令人惊讶的是,这似乎仍然有效。你可以看到我的实现here,它基本上遵循标准线扫描最近对算法的稍微修改版本:#include#include#include#include#includeusingnamespacestd;#definexseco