Python - Metodos grafos

 
Vista:

Metodos grafos

Publicado por Gerard (1 intervención) el 03/10/2018 17:42:36
Hola, alguien me podría explicar cual es la función de cada método?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
class Graph:
    def __init__(self,n = None, e = None):
        self._nodes = {} if not n else n
        self._edges = {} if not n else e
 
    @property
    def node(self):
        return self._nodes
 
    @property
    def edge(self):
        return self._edges
 
    def nodes(self):
        return [node for node in self._nodes.keys()]
 
    def edges(self):
        edges = []
 
        for node1, edge_list in self._edges.items():
            for node2 in edge_list.keys():
                possible_edge = (node1,node2) if node1 <= node2 else (node2,node1)
                #repeticiones
                if possible_edge not in edges:
                    edges.append(possible_edge)
        return edges
 
 
 
    def add_node(self, node, attr_dict=None):
        self._nodes[node] = attr_dict if attr_dict else {} # si esta vacio, anade un diccionario
 
    def add_edge(self, node1, node2, attr_dict=None):
        if node1 not in self._nodes.keys(): # si no hay nodos los creamos
            self.add_node(node1)
        if node2 not in self._nodes.keys():
            self.add_node(node2)
        if attr_dict:
            self._edges.setdefault(node1,{})
        else:
            self._edges.setdefault(node1,{})[node2] = {}
            self._edges.setdefault(node2,{})[node1] = {}
 
    # def add_nodes_from(self, node_list, attr_dict=None):
        # pass
 
    # def add_edges_from(self, edge_list, attr_dict=None):
        # pass
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder