rustworkx.generators.directed_heavy_square_graph#

directed_heavy_square_graph(d, bidirectional=False, multigraph=True)#

生成一个有向重权方形图。

来自https://arxiv.org/abs/1907.09528的图6。 图的ASCII图示如下:

...       S   ...
   \     / \
   ... D   D   D ...
       |   |   |
   ... F-S-F-S-F-...
       |   |   |
   ... D   D   D ...
       |   |   |
   ... F-S-F-S-F-...
       |   |   |
       .........
       |   |   |
   ... D   D   D ...
        \ /     \
   ...   S       ...

注意

该函数生成重方块码的四频变种。 该函数实现论文中图10.b左侧的内容。 本函数不支持图10.b右侧的变种。

Parameters:
  • d (int) – 码距。如果d设置为1,将返回具有单个节点的PyDiGraphd必须是奇数。

  • bidirectional (bool) – 表示节点之间的边是否应当存在于双方向的参数。默认为 False

  • multigraph (bool) – 当设为 False 时,输出的 PyDiGraph 对象将不是多重图,并且 不允许添加平行边。相反, 会创建平行边的调用将更新现有边。

Returns:

生成的有向重型方形图

Return type:

PyDiGraph

Raises:

IndexError – If d is even

import rustworkx.generators
from rustworkx.visualization import graphviz_draw

graph = rustworkx.generators.directed_heavy_square_graph(3)
graphviz_draw(graph, lambda node: dict(
        color='black', fillcolor='lightblue', style='filled'))
../_images/rustworkx.generators.directed_heavy_square_graph_0_0.png