*********
Utilities
*********

.. automodule:: networkx.utils
.. currentmodule:: networkx.utils

Helper Functions
----------------
.. automodule:: networkx.utils.misc
.. autosummary::
   :toctree: generated/

   arbitrary_element
   is_string_like
   flatten
   iterable
   make_list_of_ints
   make_str
   generate_unique_node
   default_opener
   pairwise
   groups
   create_random_state
   nodes_equal
   edges_equal
   graphs_equal

Data Structures and Algorithms
------------------------------
.. automodule:: networkx.utils.union_find
.. autosummary::
   :toctree: generated/

   UnionFind.union

Random Sequence Generators
--------------------------
.. automodule:: networkx.utils.random_sequence
.. autosummary::
   :toctree: generated/

   powerlaw_sequence
   cumulative_distribution
   discrete_sequence
   zipf_rv
   random_weighted_sample
   weighted_choice

Decorators
----------
.. automodule:: networkx.utils.decorators
.. autosummary::
   :toctree: generated/

   open_file
   not_implemented_for
   nodes_or_number
   preserve_random_state
   random_state
   argmap

Cuthill-Mckee Ordering
----------------------
.. automodule:: networkx.utils.rcm
.. autosummary::
   :toctree: generated/

   cuthill_mckee_ordering
   reverse_cuthill_mckee_ordering
