有n个节点的有向图中的最大边数是多少? [关闭]
Posted
技术标签:
【中文标题】有n个节点的有向图中的最大边数是多少? [关闭]【英文标题】:What is the maximum number of edges in a directed graph with n nodes? [closed] 【发布时间】:2011-06-30 19:31:18 【问题描述】:有n个节点的有向图中的最大边数是多少?有上限吗?
【问题讨论】:
@LiorKogan “算法”部分呢? 抱歉,我没有看到任何“算法”部分。只是一个组合问题 我投票结束这个问题,因为它与编程无关。 我投票结束这个问题,因为它不是一个专门的编程问题。 【参考方案1】:除了 Chris Smith 提供的直观解释之外,我们还可以从不同的角度考虑为什么会出现这种情况:考虑无向图。
要了解为什么在 DIRECTED 图中答案是 n*(n-1)
,请考虑一个无向图(这意味着如果两个节点(A 和 B)之间存在链接,那么您可以转到两种方式:从 A 到 B 和从 B 到 A)。无向图中的最大边数为n(n-1)/2
,显然在有向图中有两倍。
很好,您可能会问,但是为什么在无向 图中最多有n(n-1)/2
边?
为此,考虑 n 个点(节点)并询问从第一个点可以形成多少条边。显然,n-1
边缘。现在,假设您连接了第一个点,可以从第二个点绘制多少条边?由于第一个点和第二个点已经连接,因此可以完成n-2
边。等等。所以所有边的总和是:
Sum = (n-1)+(n-2)+(n-3)+...+3+2+1
由于 Sum 中有 (n-1)
项,并且此类序列中 Sum 的平均值为 ((n-1)+0)/2
(last + first)/2, Sum = n(n-1)/2
【讨论】:
【参考方案2】:在带有自循环的图中
max edges= n*n
比如我们有4个节点(顶点)
4 nodes = 16 edges= 4*4
【讨论】:
【参考方案3】:有向图:
问题:有n个顶点的有向图中的最大边数是多少?
假设没有自环。 假设从给定的起始顶点到给定的结束顶点最多有一条边。每条边由它的起始顶点和结束顶点指定。有 n 个 起始顶点的选择。因为没有自环,所以有 结束顶点的 n-1 个选择。将这些相乘即可 可能的选择。
回答:n(n−1)
无向图
问题:n个顶点的无向图中的最大边数是多少?
假设没有自环。 假设从给定的起始顶点到给定的结束顶点最多有一条边。在无向图中,每条边由它的两个端点指定 顺序无关紧要。因此,边的数量是数量 从顶点集合中选择的大小为 2 的子集。由于该集 顶点的大小为 n,此类子集的数量由 二项式系数 C(n,2)(也称为“n 选择 2”)。使用 二项式系数的公式,C(n,2) = n(n-1)/2。
回答:(n*(n-1))/2
【讨论】:
【参考方案4】:换一种说法:
完整图是一个无向图,其中每对不同的顶点都有一条连接它们的唯一边。从某种意义上说,这很直观,您基本上是从 n 个顶点的集合中选择 2 个顶点。
nC2 = n!/(n-2)!*2! = n(n-1)/2
这是无向图可以拥有的最大边数。现在,对于有向图,每条边都转换为两条有向边。所以只需将前面的结果乘以 2。这会给你结果:n(n-1)
【讨论】:
【参考方案5】:在有 N 个顶点的有向图中,每个顶点可以连接到图中的 N-1 个其他顶点(假设没有自环)。因此,边的总数可以是N(N-1)。
【讨论】:
此答案不会提供其他答案中尚不存在的任何内容。此外,/2
用于无向图。【参考方案6】:
无向是 N^2。简单 - 每个节点都有 N 个边选项(包括他自己),总共有 N 个节点,因此 N*N
【讨论】:
N^2 包括方向的重复,因此您计算的比实际边缘更多。 1,2 与无向中的 2,1 相同。在一个无向图它的n(n-1)/2
.【参考方案7】:
在无向图中(不包括多重图),答案是 n*(n-1)/2。在有向图中,两个节点之间可能在两个方向上都出现一条边,那么答案是 n*(n-1)。
【讨论】:
【参考方案8】:如果不允许多边,则图中可以有多达n(n-1)/2
条边。
如果我们将顶点标记为1,2,...,n
并且从i
到j
iff i>j
存在一条边,这是可以实现的。
见here。
【讨论】:
【参考方案9】:也可以认为是选择节点对 n 的方式数选择 2 = n(n-1)/2。如果只有任何一对只能有一条边,则为真。否则乘以 2
【讨论】:
【参考方案10】:正确答案是 n*(n-1)/2。每条边都被计算了两次,因此除以 2。完整的图有最大边数,由 n 选择 2 = n*(n-1)/2 给出。
【讨论】:
仅当您在图表中禁止有向循环时才适用。 这仅适用于无向图 N*(N-1)/2 仅适用于无向图,因为每个节点的边数从 (n-1),(n-2),(n-3) 逐渐减少, ....,1 (所有的总和为 n(n-1)/2。但是,对于有向图,您应该考虑每个顶点的外字边,因此是 n(n-1)。【参考方案11】:如果图不是多重图,那么它显然是 n * (n - 1),因为每个节点最多可以有到每个其他节点的边。如果这是一个多重图,则没有最大限制。
【讨论】:
【参考方案12】:如果您有N
节点,则有N - 1
有向边无法从它引出(到达每个其他节点)。因此,最大边数为N * (N - 1)
。
【讨论】:
正确。如果允许边从节点到自身,则最大值为N^2
。
@M.A 如果您谈论的是无向图,那么您是正确的。然而,在有向图中,边 (A,B) 与边 (B,A) 不同
N*(N-1) 是有向图中的边数。无向图中的边数为 (N * (N-1)) / 2
即假设图是有向的
与@ypercube 思路相同,答案是正确的,但不考虑有向图中的自环。以上是关于有n个节点的有向图中的最大边数是多少? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章