给定n个节点,如果每个节点连接到每个其他节点(除了它自己),则连接数将为n *(n-1)/ 2
如何证明这一点?
这不是一个家庭作业问题。我已经远离CS教科书,并且忘记了如何证明这一点的理论。
还有一个解决方案,组合:问题相当于图中可能的节点对数,即:
你有n个节点,每个节点都有n -1个连接(每个节点都连接到除了它自己以外的每个节点),所以我们得到了n*(n-1)
。但是,因为connection(x,y)和(y,x)是相同的(对于所有连接),我们最终得到n*(n-1)/2
。
对不好的命名法,我是物理学家,而不是CS /数学家。
每个节点(其中有n
)必须连接到其他每个节点。有(n-1)
“每个人”。
因此每个n个节点都有来自它们的n-1
连接。 n(n-1)
但由于每个连接是“双向”(a to b = b to a)
,你最终得到一个1/2
因子
所以n*(n-1)/2
通过归纳证明。基本情况 - 对于2个节点,有1个连接和2 * 1 / 2 == 1
。现在假设对于N
节点我们有N * (N-1) / 2
连接。添加一个节点必须建立N
附加连接,并且:
N * (N-1) / 2 + N =
(N^2 - N + 2N) / 2 =
(N^2 + N) / 2 =
(N + 1) * N / 2
这最后一行恰好是N * (N - 1) / 2
,N
被N+1
取代,所以证明是好的。
每个顶点的degree是n-1
(因为它有n-1
邻居)。
Handshaking lemma说:Sigma(deg(v)) (for each node) = 2|E|
。从而:
Sigma(deg(v)) (for each node) = 2|E|
Sigma(n-1) (for each node) = 2|E|
(n-1)*n = 2|E|
|E| = (n-1)*n /2
QED
对于1个节点:n连接
2节点:n-1个连接(已连接第一个节点)
对于3个节点:n-2个连接..用于n个节点:n-(n-1)个连接
因此总连接数= n + n-1 + n-2 + ........ 1
= n(n-1)/2 (sum of first n-1 natural numbers)
确定N个网络节点可能的最大链路数的最合适的答案是......
链路需要2个节点的可能组合/连接总数;所以:
(N!) / [(N-2)!)(2!)] = N(N-1)(N-2)! / (N-2)!(2!);
S o N(N-1) / 2
其中N>1
需要2个节点才能有一个链接。
迟到而不是证明,但你可以将节点“可视化”为坐标和关系,就像矩阵中的单元格一样,我不知道如何在这里绘制东西。
每个节点一列,每个节点一行,十字架上的单元是关系。
你有xx个可能的细胞。但是你需要移除topleft-bottomright对角线单元格(节点可以节点链接到自身)。因此,您删除x个单元格并且只有(xx-x)= x *(x-1)个剩余单元格。然后,单元格(x,y)是与单元格(y,x)相同的链接,因此您可以删除剩余单元格的一半:x *(x-1)/ 2