确定删除节点后是否对矩形图进行分区的最快方法
Quickest way to determine if a rectangular graph would be partitioned if a node is removed
我正在为视频游戏进行大气模拟,我遇到的一个问题是我需要一种廉价的(处理时间)方法来确定矩形网格中的节点图(每个节点连接到最多四个邻居,NSEW)如果我删除了一个特定的节点,就会被分区。
我已经尝试寻找检测图形是否已分区的方法,但到目前为止我还没有找到适合我的问题的方法。我没有上过高等数学课程,只有图论的基础知识,所以我可能只是没有使用正确的术语进行搜索。
如果可能的话,最好避免搜索整个图表。
您可以使用改进的深度优先搜索来查找关节点 - 请参阅 http://en.wikipedia.org/wiki/Biconnected_component。图形的接合点是一个节点,如果删除该节点,则断开图形。每个图都可以在连接点处拆分为双连通组件。如果你幸运的话,你只需要知道一个点是否是一个关节点。如果没有,也许将图拆分为双连通组件树并对其进行分析会有所帮助。
我正在为视频游戏进行大气模拟,我遇到的一个问题是我需要一种廉价的(处理时间)方法来确定矩形网格中的节点图(每个节点连接到最多四个邻居,NSEW)如果我删除了一个特定的节点,就会被分区。
我已经尝试寻找检测图形是否已分区的方法,但到目前为止我还没有找到适合我的问题的方法。我没有上过高等数学课程,只有图论的基础知识,所以我可能只是没有使用正确的术语进行搜索。
如果可能的话,最好避免搜索整个图表。
您可以使用改进的深度优先搜索来查找关节点 - 请参阅 http://en.wikipedia.org/wiki/Biconnected_component。图形的接合点是一个节点,如果删除该节点,则断开图形。每个图都可以在连接点处拆分为双连通组件。如果你幸运的话,你只需要知道一个点是否是一个关节点。如果没有,也许将图拆分为双连通组件树并对其进行分析会有所帮助。