图的表示2025年3月17日 | 阅读 3 分钟 在图论中,图的表示是一种将图存储到计算机内存中的技术。 为了表示一个图,我们只需要顶点的集合,以及每个顶点的邻居(通过边直接连接到它的顶点)。如果它是一个加权图,则权重将与每条边相关联。 根据边的密度、要执行的操作类型和易用性,有不同的方法可以最佳地表示一个图。 1. 邻接矩阵
请注意,即使包含 100 个顶点并且只有 1 条边的图,我们仍然需要一个 100x100 的矩阵,其中包含很多零。
示例考虑以下无向图表示 无向图表示 ![]() 有向图表示 查看有向图表示 ![]() 在上面的例子中,1 代表从行顶点到列顶点的边,而 0 代表从行顶点到列顶点没有边。 无向加权图表示 ![]() 优点:表示更容易实现和理解。 缺点:访问顶点的所有邻居需要大量的空间和时间,我们必须遍历图中的所有顶点,这需要一些时间。 2. 关联矩阵在关联矩阵表示中,可以使用大小为 总顶点数乘以总边数来表示图。 这意味着,如果一个图有 4 个顶点和 6 条边,那么它可以表示为 4X6 类的矩阵。在这个矩阵中,列代表边,行代表顶点。 这个矩阵填充为0或1或-1。其中,
示例考虑以下有向图表示。 ![]() 3. 邻接表
示例让我们看看使用链表实现的以下有向图表示 ![]() 我们也可以使用数组实现这种表示,如下所示 ![]() 优点
缺点
下一主题树和森林 |
我们请求您订阅我们的新闻通讯以获取最新更新。