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=2
,n=1
或者 n=0
你不能有蜘蛛)。
我在开始这个任务时遇到了问题: 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=2
,n=1
或者 n=0
你不能有蜘蛛)。