# Functions¶

Functional interface to graph methods and assorted utilities.

## Graph¶

 degree(G[, nbunch, weight]) Return degree of single node or of nbunch of nodes. degree_histogram(G) Return a list of the frequency of each degree value. density(G) Return the density of a graph. info(G[, n]) Print short summary of information for the graph G or the node n. create_empty_copy(G[, with_data]) Return a copy of the graph G with all of the edges removed. is_directed(G) Return True if graph is directed. add_star(G, nodes, \*\*attr) Add a star to Graph G. add_path(G, nodes, \*\*attr) Add a path to the Graph G. add_cycle(G, nodes, \*\*attr) Add a cycle to the Graph G.

## Nodes¶

 nodes(G) Return an iterator over the graph nodes. number_of_nodes(G) Return the number of nodes in the graph. all_neighbors(graph, node) Returns all of the neighbors of a node in the graph. non_neighbors(graph, node) Returns the non-neighbors of the node in the graph. common_neighbors(G, u, v) Return the common neighbors of two nodes in a graph.

## Edges¶

 edges(G[, nbunch]) Return iterator over edges incident to nodes in nbunch. number_of_edges(G) Return the number of edges in the graph. non_edges(graph) Returns the non-existent edges in the graph.

## Attributes¶

 set_node_attributes(G, name, values) Sets node attributes from a given value or dictionary of values. get_node_attributes(G, name) Get node attributes from graph set_edge_attributes(G, name, values) Sets edge attributes from a given value or dictionary of values. get_edge_attributes(G, name) Get edge attributes from graph

## Freezing graph structure¶

 freeze(G) Modify graph to prevent further change by adding or removing nodes or edges. is_frozen(G) Return True if graph is frozen.