确定在删除节点时是否对矩形图进行分区的最快方法

时间:2015-05-25 00:57:21

标签: algorithm graph-theory

我正在为视频游戏进行大气模拟,我遇到的一个问题是我需要一种便宜的(处理时间)方式来确定矩形网格中的节点图(每个节点是否已连接)如果我删除了一个特定节点,那么最多四个邻居NSEW将被分区。

我试图寻找检测图表是否已分区的方法但到目前为止我还没有找到任何适合我的问题的方法。我没有参加高级数学课程,只掌握图论的基础知识,所以我可能没有用正确的术语进行搜索。

如果可能的话,非常希望避免必须搜索整个图表。

1 个答案:

答案 0 :(得分:1)

您可以使用修改后的深度优先搜索找到关节点 - 请参阅http://en.wikipedia.org/wiki/Biconnected_component。图形的清晰点是一个节点,如果删除,则断开图形。每个图形都可以在关节点处分成双连通组件。如果你很幸运,你只需要知道一个点是否是一个发音点。如果没有,可能将图形拆分为双连通组件树并进行分析将有所帮助。