n个顶点的图形,其直径为3,补数的直径也为3?

时间:2017-01-15 18:18:01

标签: algorithm math graph

每个n都可以有这样的图表吗?如果是这样,是否可以以编程方式生成这样的图形?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这不适用于 n < 4,因为你需要至少4个节点来创建3的距离。

但是对于 n > = 4,它始终是可能的。

您可以选择任意顶点 A B C ,并在 A 和所有其他顶点之间有边, C 除外,并且在 B C 之间还有一个优势。这可以看作如下:

enter image description here

在下文中假设 D 是任何不等于 A B C 的顶点。因为我们至少有4个顶点,所以至少有这样一个顶点。

此图表的距离为3

这是因为每对顶点(不包括 C )表示最多2的距离,因为这些顶点通过 A 连接。 C 只能通过路径 B A 到达其他顶点,当目标 D时,它表示距离3

因此距离为3。

补码图的距离为3

在补码图中,......:

之间的距离
  • A C 为1
  • B D 为1
  • C D 为1
  • A D 为2(通过 C
  • B C 为2(通过 D
  • A B 为3(通过 C D

列出了所有可能的无序对,其中 A B C D 。然后保持任何一对代表的距离不包括 A B C :这样的对是补图中的边,并且所以他们距离是1。

因此,补图的距离为3,由顶点 A B 表示。

编程

给定一个顶点列表 V ,你可以这样做(伪代码,边缘表示为括号内两个顶点的元组):

a = V[0]
b = V[1]
c = V[2]
edges = [ (b,c) ]
for each d in V:
    if d != a && d != c:
        edges.append( (a,d) )