
    h6                         S r SSKrSSKJr  / SQr\R                  S 5       r\" S5      \R                  S 5       5       r\" S5      \R                  S 5       5       r	g)	zDegree centrality measures.    N)not_implemented_for)degree_centralityin_degree_centralityout_degree_centralityc                     [        U 5      S::  a  U  Vs0 s H  oS_M     sn$ S[        U 5      S-
  -  nU R                  5        VVs0 s H
  u  pXU-  _M     nnnU$ s  snf s  snnf )a=  Compute the degree centrality for nodes.

The degree centrality for a node v is the fraction of nodes it
is connected to.

Parameters
----------
G : graph
  A networkx graph

Returns
-------
nodes : dictionary
   Dictionary of nodes with degree centrality as the value.

Examples
--------
>>> G = nx.Graph([(0, 1), (0, 2), (0, 3), (1, 2), (1, 3)])
>>> nx.degree_centrality(G)
{0: 1.0, 1: 1.0, 2: 0.6666666666666666, 3: 0.6666666666666666}

See Also
--------
betweenness_centrality, load_centrality, eigenvector_centrality

Notes
-----
The degree centrality values are normalized by dividing by the maximum
possible degree in a simple graph n-1 where n is the number of nodes in G.

For multigraphs or graphs with self loops the maximum degree might
be higher than n-1 and values of degree centrality greater than 1
are possible.
         ?)lendegreeGnsd
centralitys        [/var/www/html/env/lib/python3.13/site-packages/networkx/algorithms/centrality/degree_alg.pyr   r   	   sk    H 1v{ a1a  s1v|A'(xxz2ztq!U(zJ2	 ! 3   AA"
undirectedc                     [        U 5      S::  a  U  Vs0 s H  oS_M     sn$ S[        U 5      S-
  -  nU R                  5        VVs0 s H
  u  pXU-  _M     nnnU$ s  snf s  snnf )a  Compute the in-degree centrality for nodes.

The in-degree centrality for a node v is the fraction of nodes its
incoming edges are connected to.

Parameters
----------
G : graph
    A NetworkX graph

Returns
-------
nodes : dictionary
    Dictionary of nodes with in-degree centrality as values.

Raises
------
NetworkXNotImplemented
    If G is undirected.

Examples
--------
>>> G = nx.DiGraph([(0, 1), (0, 2), (0, 3), (1, 2), (1, 3)])
>>> nx.in_degree_centrality(G)
{0: 0.0, 1: 0.3333333333333333, 2: 0.6666666666666666, 3: 0.6666666666666666}

See Also
--------
degree_centrality, out_degree_centrality

Notes
-----
The degree centrality values are normalized by dividing by the maximum
possible degree in a simple graph n-1 where n is the number of nodes in G.

For multigraphs or graphs with self loops the maximum degree might
be higher than n-1 and values of degree centrality greater than 1
are possible.
r   r	   )r
   	in_degreer   s        r   r   r   5   sk    T 1v{ a1a  s1v|A'({{}5}tq!U(}J5	 ! 6r   c                     [        U 5      S::  a  U  Vs0 s H  oS_M     sn$ S[        U 5      S-
  -  nU R                  5        VVs0 s H
  u  pXU-  _M     nnnU$ s  snf s  snnf )aw  Compute the out-degree centrality for nodes.

The out-degree centrality for a node v is the fraction of nodes its
outgoing edges are connected to.

Parameters
----------
G : graph
    A NetworkX graph

Returns
-------
nodes : dictionary
    Dictionary of nodes with out-degree centrality as values.

Raises
------
NetworkXNotImplemented
    If G is undirected.

Examples
--------
>>> G = nx.DiGraph([(0, 1), (0, 2), (0, 3), (1, 2), (1, 3)])
>>> nx.out_degree_centrality(G)
{0: 1.0, 1: 0.6666666666666666, 2: 0.0, 3: 0.0}

See Also
--------
degree_centrality, in_degree_centrality

Notes
-----
The degree centrality values are normalized by dividing by the maximum
possible degree in a simple graph n-1 where n is the number of nodes in G.

For multigraphs or graphs with self loops the maximum degree might
be higher than n-1 and values of degree centrality greater than 1
are possible.
r   r	   )r
   
out_degreer   s        r   r   r   g   sk    T 1v{ a1a  s1v|A'(||~6~tq!U(~J6	 ! 7r   )
__doc__networkxnxnetworkx.utils.decoratorsr   __all___dispatchabler   r   r        r   <module>r!      s}    !  9
P ( (V \"-  #-` \"-  #-r    