图 是一种非线性数据结构,用于表示一组对象,其中一些对象对是连接在一起的。互连的对象由称为顶点的点表示,连接顶点的线称为边。顶点由V表示,边由E表示。也可以说图是一对集合(V, E) 。例如:
在上图中,顶点集V = {0, 1, 2, 3}和边集E = {(0, 1), (0, 3), (1, 2), (1, 3 ), (2, 3)} 。
对图形的一些观察是:
- 不考虑自环的 N 个顶点的无向图中的最大边数:由于每个节点都可以连接到所有其他节点,因此第一个节点可以连接到(N-1) 个节点。第二个节点可以连接到(N – 2) 个节点,依此类推。所以,
The total number of edges are: 1 + 2 + 3 + ··· + N = N*(N – 1)/2 edges
- N 个顶点的有向图中不考虑自环的最大边数:每条边都有它的起始顶点和结束顶点。起始顶点有N 个选择。由于没有自环,结束顶点有 (N – 1) 个选择。因此,通过将这些选择相乘来计算所有可能的选择。所以,
The total number of edges are: N*(N – 1)
- N 个顶点的自循环图中的最大边数:
The total number of edges are: N*N
- 具有 N 个顶点的无向图中的最小边数:由于图是连通的,因此从每个顶点到每个其他顶点必须有唯一的路径,删除任何边都会使图断开连接。最小值是通过在上三角形的每一行中放置 1 来实现的。现在,如果邻接矩阵的维数为NxN ,则第一行在上三角形中有 (N – 1) 个元素,第二行在上三角形中有(N – 2) 个元素,依此类推。最后一行在上三角形中有 0 个元素。也就是说,总共有 (N – 1)行“带有一个上三角形”,每行只有1 。所以,
The total number of edges are: (N – 1)
- 具有 N 个顶点和 E 条边的未加权图可能的邻接矩阵数:对于具有 N 个顶点的未加权图,它可以表示为(NxN)矩阵(二维数组),每个值要么是0 (表示非- 边的存在)或 1 (表示边的存在)。
现在,如果第一行有 N 个不同的选择,第二行就有(N – 1) 个选择(因为关于边 1、2 的信息是已知的),依此类推。所以总的可能性是:
N*(N – 1)*(N – 2)* … *1 = N!
或者也可以说它等于N个元素的排列数即N! .
- 具有 N 个顶点和 E 条边的图可能的邻接表的数量:类似于上面的解释。它等于边的排列数,即E! .
- 设 G 是一个图,其中所有顶点的度数至少为 2。那么 G 包含一个循环:假设G很简单,让 P 是最长的路径,如(v 0 v 1 v 2 …v a−1 v a ) 。由于已知v a的度数 > 2 ,因此v a必须与至少一个不是(v a – 1) 的顶点 v相邻,如果v ∉ {v 0 , …, v a − 2 } ,那么它可以将路径 P扩展到 v 。然而,P 被选择为最大长度,所以这是不可能的,因此v ∈ {v 0 …, v a – 2 } 。因此,如果v = v i ,则 v i+1 , …, v a, v i 是一个循环。
- 凯莱公式:
For N ≤ 1, there are precisely NN – 2 tree graphs on N-la belled vertices.
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。