networkx.algorithms.bipartite.generators.alternating_havel_hakimi_graph¶
-
alternating_havel_hakimi_graph
(aseq, bseq, create_using=None)[source]¶ Returns a bipartite graph from two given degree sequences using an alternating Havel-Hakimi style construction.
The graph is composed of two partitions. Set A has nodes 0 to (len(aseq) - 1) and set B has nodes len(aseq) to (len(bseq) - 1). Nodes from the set A are connected to nodes in the set B by connecting the highest degree nodes in set A to alternatively the highest and the lowest degree nodes in set B until all stubs are connected.
- Parameters
aseq (list) – Degree sequence for node set A.
bseq (list) – Degree sequence for node set B.
create_using (NetworkX graph instance, optional) – Return graph of this type.
Notes
The sum of the two sequences must be equal: sum(aseq)=sum(bseq) If no graph type is specified use MultiGraph with parallel edges. If you want a graph with no parallel edges use create_using=Graph() but then the resulting degree sequences might not be exact.
The nodes are assigned the attribute ‘bipartite’ with the value 0 or 1 to indicate which bipartite set the node belongs to.
This function is not imported in the main namespace. To use it use nx.bipartite.alternating_havel_hakimi_graph