rustworkx.graph_line_graph#
- graph_line_graph(graph, /)#
构建一个
PyGraph对象的线图。一个图表 G 的线图 L(G) 代表了 G 的边之间的邻接关系。在 L(G) 中,对于 G 中的每条边都存在一个顶点,并且如果 G 中对应的两条边共享一个顶点,那么 L(G) 中的这两个顶点之间就会存在一条边。
- Parameters:
PyGraph – 输入的 PyGraph 对象
- Returns:
一个新的PyGraph对象,该对象是
graph的线图,以及一个字典, 其中键是graph中边的索引,而值是在线性图中对应的节点索引。- Return type:
元组[
PyGraph, 字典]
import rustworkx as rx graph = rx.PyGraph() node_a = graph.add_node("a") node_b = graph.add_node("b") node_c = graph.add_node("c") node_d = graph.add_node("d") edge_ab = graph.add_edge(node_a, node_b, 1) edge_ac = graph.add_edge(node_a, node_c, 1) edge_bc = graph.add_edge(node_b, node_c, 1) edge_ad = graph.add_edge(node_a, node_d, 1) out_graph, out_edge_map = rx.graph_line_graph(graph) assert out_graph.node_indices() == [0, 1, 2, 3] assert out_graph.edge_list() == [(3, 1), (3, 0), (1, 0), (2, 0), (2, 1)] assert out_edge_map == {edge_ab: 0, edge_ac: 1, edge_bc: 2, edge_ad: 3}