C++ 程序构建具有特定条件的图

2025 年 3 月 24 日 | 4 分钟阅读

在本文中,我们将讨论一个 C++ 程序,用于构建满足特定条件的图

图是基本的数据结构,用于显示实体之间的关系。在许多应用程序中,构建符合特定约束或要求的图至关重要。这些规范可能包括边权重、结构限制或连通性要求。这个 C++ 程序的目标是构建一个满足指定条件的图。这些规范可能与顶点的数量、特定边的存在或无环性或连通性等属性有关。根据约束和要求,程序可能会采用邻接矩阵和邻接表等图表示技术。

假设我们有两个数字 NK。考虑一个包含 N 个元素的无向图。N 个顶点满足以下条件。它有以下条件:

  • 该图是简单且连通的。
  • 顶点的编号范围从 1 到 N。
  • 设 M 为图中边的数量。对于边,编号从 1 到 M,即边的长度。此外,边 i 连接顶点 V[i] 和 顶点 U[i]
  • 对于每 K 对顶点 (i, j),其中 i < j,它们的最短距离为 2。

示例 1

让我们举一个例子来说明如何在 C++ 中构建满足特定条件的图。

输出

Number of edges: 11
Edge: 1 -> 2
Edge: 1 -> 3
Edge: 1 -> 4
Edge: 1 -> 5
Edge: 1 -> 6
Edge: 1 -> 7
Edge: 2 -> 3
Edge: 2 -> 4
Edge: 2 -> 5
Edge: 2 -> 6
Edge: 2 -> 7

示例 2

让我们再举一个例子来说明如何在 C++ 中构建满足特定条件的图。

输出

Enter number of vertices: 4
Enter number of edges: 3
Enter edge 1 (source destination): 0 1
Enter edge 2 (source destination): 1 2
Enter edge 3 (source destination): 2 3
Graph is connected.
Generated Graph:
Vertex 0 -> 1 
Vertex 1 -> 0 2 
Vertex 2 -> 1 3 
Vertex 3 -> 2