目前我正在研究最小走廊长度算法,部分设置涉及到问题中所有相邻点的列表。目前我有两个数组:一个在x坐标上用相邻点排序,另一个在y坐标上用点排序。另外,通过简单地查看两个列表中的附近点,我发现邻接点,如果点具有相同的y(在列表中按x相邻排序),则它们位于同一行上。同样,如果他们有相同的x(在y列表中)谎言在同一行上。如何检测对象是否位于两点之间
例如,假设我们有以下的房间:
然后用X-相邻点列表将按照以下顺序几点:{V1,V2,V3,V4,V5, ... v21,v22}(它们保持与它们标记的顺序相同) 此外,具有y个相邻点的列表将为:{v22,v16,v14,v9,v4,v13,v8,v3,v21 ,... v5,v1}(基本上是y = x上图的反映)
如前所述,通过查看列表中的附近点找到相邻点。该工程罚款最高分,但是它失败以下边缘情况:
为X相邻的列表将有{V1,V2,...... V6,V7 ... V11,V12 }并且我的算法会将v6和v7检测为相邻点。 如何检测到这两点之间有空间?请注意,我有一组矩形和顶点也可用于我。 在此先感谢。
这是什么_exactly_是否意味着两点在这种情况下相邻? –
@DavidZaslavsky这意味着点是在同一行。 例如在第一个图中,v1与v2和v5相邻。 v13将与v8,v12和v14相邻。我希望这个澄清! – pretobomba
好的,所以在第一个图中,v13不被认为与v3,v10和v11相邻? –