networkx.algorithms.coloring.greedy_color
的用法。用法:
greedy_color(G, strategy='largest_first', interchange=False)
使用各种贪心图形着色策略为图形着色。
尝试使用尽可能少的颜色为图形着色,其中节点的邻居不能具有与节点本身相同的颜色。给定的策略决定了节点着色的顺序。
这些策略在[1]中说明,smallest-last基于[2]。
- G:NetworkX 图
- strategy:字符串或函数(G,颜色)
提供着色策略的函数(或表示函数的字符串),通过按应着色的顺序返回节点。
G
是图形,colors
是当前分配颜色的字典,由节点键控。该函数必须返回G
中所有节点的可迭代对象。如果策略函数是迭代器生成器(即带有
yield
语句的函数),请记住colors
字典将在每个yield
之后更新,因为该函数贪心地选择颜色。如果
strategy
是字符串,则必须是以下之一,每一个代表一个内置策略函数。'largest_first'
'random_sequential'
'smallest_last'
'independent_set'
'connected_sequential_bfs'
'connected_sequential_dfs'
'connected_sequential'
(上一个策略的别名)'saturation_largest_first'
'DSATUR'
(上一个策略的别名)
- interchange: bool:
如果设置为
True
,将使用 [3] 中说明的颜色交换算法。请注意,
saturation_largest_first
和independent_set
不适用于互换。此外,如果您将交换与自己的策略函数一起使用,则不能依赖colors
参数中的值。
- 具有表示节点的键和表示的值的字典
- 相应的着色。
- NetworkXPointlessConcept
如果
strategy
是saturation_largest_first
或independent_set
并且interchange
是True
。
参数:
返回:
抛出:
参考:
- 1
Adrian Kosowski, and Krzysztof Manuszewski, Classical Coloring of Graphs, Graph Colorings, 2-19, 2004. ISBN 0-8218-3458-4.
- 2
David W. Matula, and Leland L. Beck, “Smallest-last ordering and clustering and graph coloring algorithms.”
J. ACM
30, 3 (July 1983), 417-427. <https://doi.org/10.1145/2402.322385>- 3
Maciej M. Sysło, Marsingh Deo, Janusz S. Kowalik, Discrete Optimization Algorithms with Pascal Programs, 415-424, 1983. ISBN 0-486-45353-7.
例子:
>>> G = nx.cycle_graph(4) >>> d = nx.coloring.greedy_color(G, strategy="largest_first") >>> d in [{0: 0, 1: 1, 2: 0, 3: 1}, {0: 1, 1: 0, 2: 1, 3: 0}] True
相关用法
- Python NetworkX greedy_modularity_communities用法及代码示例
- Python NetworkX greedy_tsp用法及代码示例
- Python NetworkX graphviz_layout用法及代码示例
- Python NetworkX groups用法及代码示例
- Python NetworkX graph_edit_distance用法及代码示例
- Python NetworkX grid_graph用法及代码示例
- Python NetworkX get_edge_attributes用法及代码示例
- Python NetworkX generate_multiline_adjlist用法及代码示例
- Python NetworkX generic_node_match用法及代码示例
- Python NetworkX gomory_hu_tree用法及代码示例
- Python NetworkX generate_gml用法及代码示例
- Python NetworkX generate_adjlist用法及代码示例
- Python NetworkX gn_graph用法及代码示例
- Python NetworkX generic_multiedge_match用法及代码示例
- Python NetworkX generate_graphml用法及代码示例
- Python NetworkX generic_edge_match用法及代码示例
- Python NetworkX gnp_random_graph用法及代码示例
- Python NetworkX generate_edgelist用法及代码示例
- Python NetworkX generic_weighted_projected_graph用法及代码示例
- Python NetworkX global_reaching_centrality用法及代码示例
- Python NetworkX global_parameters用法及代码示例
- Python NetworkX girvan_newman用法及代码示例
- Python NetworkX generate_gexf用法及代码示例
- Python NetworkX gnr_graph用法及代码示例
- Python NetworkX generalized_degree用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.coloring.greedy_color。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。