Diferències entre grafs i digrafs¶
Comparació línia a línia dels exemples sobre grafs (a l’esquerra) i digrafs (a la dreta).
Les línies destacades són les úniques que canvien.
Els canvis es concentren en el tractament de les arestes (
has_edge(),edges()) i en la distició entre els veïns predecessors i successors (predecessors(),successors(),in_edges(),out_edges(),in_degree(),out_degree()).
>>> import networkx as nx >>> import networkx as nx
>>> g = nx.Graph() >>> g = nx.DiGraph()
>>> list(g.nodes) >>> list(g.nodes)
[] []
>>> len(g) >>> len(g)
0 0
>>> g.order() >>> g.order()
0 0
>>> g.number_of_nodes() >>> g.number_of_nodes()
0 0
>>> list(g.edges) >>> list(g.edges)
[] []
>>> g.size() >>> g.size()
0 0
>>> g.number_of_edges() >>> g.number_of_edges()
0 0
>>> g.add_node(10) >>> g.add_node(10)
>>> sorted(g.nodes) >>> sorted(g.nodes)
[10] [10]
>>> g.order(), g.size() >>> g.order(), g.size()
(1, 0) (1, 0)
>>> g.add_node(10) >>> g.add_node(10)
>>> sorted(g.nodes) >>> sorted(g.nodes)
[10] [10]
>>> g.add_edge(1, 2) >>> g.add_edge(1, 2)
>>> sorted(g.nodes) >>> sorted(g.nodes)
[1, 2, 10] [1, 2, 10]
>>> sorted(g.edges) >>> sorted(g.edges)
[(1, 2)] [(1, 2)]
>>> g.add_edge(1, 2) >>> g.add_edge(1, 2)
>>> sorted(g.edges) >>> sorted(g.edges)
[(1, 2)] [(1, 2)]
>>> g.add_nodes_from( [3, 4, 5, 11] ) >>> g.add_nodes_from( [3, 4, 5, 11] )
>>> sorted(g.nodes) >>> sorted(g.nodes)
[1, 2, 3, 4, 5, 10, 11] [1, 2, 3, 4, 5, 10, 11]
>>> g.order(), g.size() >>> g.order(), g.size()
(7, 1) (7, 1)
>>> g.add_edges_from( [(2,3), (3,4), (4,5), (5,2), (11,10)] ) >>> g.add_edges_from( [(2,3), (3,4), (4,5), (5,2), (11,10)] )
>>> g.size() >>> g.size()
6 6
>>> 1 in g >>> 1 in g
True True
>>> 8 in g >>> 8 in g
False False
>>> g.has_node(10) >>> g.has_node(10)
True True
>>> g.has_edge(1, 2) >>> g.has_edge(1, 2)
True True
>>> g.has_edge(2, 1) >>> g.has_edge(2, 1)
True False
>>> g.has_edge(3, 5) >>> g.has_edge(3, 5)
False False
>>> g.degree(2) >>> g.degree(2)
3 3
>>> g.in_degree(2)
2
>>> g.out_degree(2)
1
>>> sorted(g) >>> sorted(g)
[1, 2, 3, 4, 5, 10, 11] [1, 2, 3, 4, 5, 10, 11]
>>> sorted(g.nodes) >>> sorted(g.nodes)
[1, 2, 3, 4, 5, 10, 11] [1, 2, 3, 4, 5, 10, 11]
>>> sorted(g.edges) >>> sorted(g.edges)
[(1, 2), (2, 3), (2, 5), (3, 4), (4, 5), (10, 11)] [(1, 2), (2, 3), (3, 4), (4, 5), (5, 2), (11, 10)]
>>> sorted(g.neighbors(2)) >>> sorted(g.neighbors(2))
[1, 3, 5] [3]
>>> sorted(g[2]) >>> sorted(g[2])
[1, 3, 5] [3]
>>> sorted(g.successors(2))
[3]
>>> sorted(g.predecessors(2))
[1, 5]
>>> sorted(g.edges(2)) >>> sorted(g.edges(2))
[(2, 1), (2, 3), (2, 5)] [(2, 3)]
>>> sorted(g.out_edges(2))
[(2, 3)]
>>> sorted(g.in_edges(2))
[(1, 2), (5, 2)]
>>> nx.add_path(g, [1,2,3,5]) >>> nx.add_path(g, [1,2,3,5])