Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
79
venv/Lib/site-packages/networkx/classes/ordered.py
Normal file
79
venv/Lib/site-packages/networkx/classes/ordered.py
Normal file
|
@ -0,0 +1,79 @@
|
|||
"""
|
||||
Consistently ordered variants of the default base classes.
|
||||
Note that if you are using Python 3.6+, you shouldn't need these classes
|
||||
because the dicts in Python 3.6+ are ordered.
|
||||
Note also that there are many differing expectations for the word "ordered"
|
||||
and that these classes may not provide the order you expect.
|
||||
The intent here is to give a consistent order not a particular order.
|
||||
|
||||
The Ordered (Di/Multi/MultiDi) Graphs give a consistent order for reporting of
|
||||
nodes and edges. The order of node reporting agrees with node adding, but for
|
||||
edges, the order is not necessarily the order that the edges were added.
|
||||
|
||||
In general, you should use the default (i.e., unordered) graph classes.
|
||||
However, there are times (e.g., when testing) when you may need the
|
||||
order preserved.
|
||||
|
||||
Special care is required when using subgraphs of the Ordered classes.
|
||||
The order of nodes in the subclass is not necessarily the same order
|
||||
as the original class. In general it is probably better to avoid using
|
||||
subgraphs and replace with code similar to:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
# instead of SG = G.subgraph(ordered_nodes)
|
||||
SG = nx.OrderedGraph()
|
||||
SG.add_nodes_from(ordered_nodes)
|
||||
SG.add_edges_from((u, v) for (u, v) in G.edges() if u in SG if v in SG)
|
||||
|
||||
"""
|
||||
from collections import OrderedDict
|
||||
|
||||
from .graph import Graph
|
||||
from .multigraph import MultiGraph
|
||||
from .digraph import DiGraph
|
||||
from .multidigraph import MultiDiGraph
|
||||
|
||||
__all__ = []
|
||||
|
||||
__all__.extend(
|
||||
["OrderedGraph", "OrderedDiGraph", "OrderedMultiGraph", "OrderedMultiDiGraph"]
|
||||
)
|
||||
|
||||
|
||||
class OrderedGraph(Graph):
|
||||
"""Consistently ordered variant of :class:`~networkx.Graph`."""
|
||||
|
||||
node_dict_factory = OrderedDict
|
||||
adjlist_outer_dict_factory = OrderedDict
|
||||
adjlist_inner_dict_factory = OrderedDict
|
||||
edge_attr_dict_factory = OrderedDict
|
||||
|
||||
|
||||
class OrderedDiGraph(DiGraph):
|
||||
"""Consistently ordered variant of :class:`~networkx.DiGraph`."""
|
||||
|
||||
node_dict_factory = OrderedDict
|
||||
adjlist_outer_dict_factory = OrderedDict
|
||||
adjlist_inner_dict_factory = OrderedDict
|
||||
edge_attr_dict_factory = OrderedDict
|
||||
|
||||
|
||||
class OrderedMultiGraph(MultiGraph):
|
||||
"""Consistently ordered variant of :class:`~networkx.MultiGraph`."""
|
||||
|
||||
node_dict_factory = OrderedDict
|
||||
adjlist_outer_dict_factory = OrderedDict
|
||||
adjlist_inner_dict_factory = OrderedDict
|
||||
edge_key_dict_factory = OrderedDict
|
||||
edge_attr_dict_factory = OrderedDict
|
||||
|
||||
|
||||
class OrderedMultiDiGraph(MultiDiGraph):
|
||||
"""Consistently ordered variant of :class:`~networkx.MultiDiGraph`."""
|
||||
|
||||
node_dict_factory = OrderedDict
|
||||
adjlist_outer_dict_factory = OrderedDict
|
||||
adjlist_inner_dict_factory = OrderedDict
|
||||
edge_key_dict_factory = OrderedDict
|
||||
edge_attr_dict_factory = OrderedDict
|
Loading…
Add table
Add a link
Reference in a new issue