C# 邻接矩阵 scorpion

c# adjacency matrix scorpion

我在开始这个任务时遇到了问题: n-vertex 图是蝎子,如果它有一个 1 度的顶点(毒刺)连接到一个 2 度的顶点(尾巴)连接一个 n-2 度的顶点(body)连接到另一个n-3(脚)。一些脚可以连接到其他脚。设计一个算法来判断给定的图画是否代表蝎子。 . 我应该制作邻接矩阵,然后尝试基本上搜索与 tail 仅有一个连接的 sting,并对 tail 和 body...?

做同样的事情

首先确定每个顶点的度数(从邻接矩阵或邻接表或任何其他可能的方式),然后选择度数 n-2 的一个顶点作为 body 中心(如果 n > 4 并且您的图形是蜘蛛,则只有一个这样的顶点,而且应该没有度数 n-1 的顶点)。如果图是蜘蛛,毒刺头是 body 中心不相邻的一个顶点。检查 sting head 的度数为 1。然后检查 sting head 是否连接到 2 度的顶点(即 sting-tail 关节)。如果n <= 4,你只会得到退化的蜘蛛(对于n=4,蜘蛛只有一条腿,对于n=3,蜘蛛没有腿,对于n=2n=1或者 n=0 你不能有蜘蛛)。