Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def __delitem__(self, id):
- '''Elimina el vertice del grafo, y devuelve el valor asociado. Si no existe el identificador en el grafo, lanzara KeyError.
- Borra tambien todas las aristas que salian y entraban al vertice en cuestion.
- '''
- if not self._validar_existencia(id):
- raise KeyError()
- for i in self.keys():
- h = self._vertices[i].get_adyacentes()
- if h.has_key(id):
- self.borrar_arista(i, id)
- return self._vertices[id].get_valor()
- def borrar_arista(self, desde, hasta):
- '''Borra una arista que conecta los vertices indicados. Parametros:
- - desde y hasta: identificadores de vertices dentro del grafo. Si alguno de estos no existe dentro del grafo, lanzara KeyError.
- En caso de no existir la arista, se lanzara ValueError.
- '''
- if not self._validar_existencia(desde) or not self._validar_existencia(hasta):
- raise KeyError()
- l = self.keys()
- if not hasta in l:
- raise ValueError()
- self._vertices[desde].quitar_adyacentes(hasta)
- if not self._es_dirigido:
- self._vertices[hasta].quitar_adyacentes(desde)
- def obtener_peso_arista(self, desde, hasta):
- '''Obtiene el peso de la arista que va desde el vertice 'desde', hasta el vertice 'hasta'. Parametros:
- - desde y hasta: identificadores de vertices dentro del grafo. Si alguno de estos no existe dentro del grafo, lanzara KeyError.
- En caso de no existir la union consultada, se devuelve None.
- '''
- if not self._validar_existencia(desde) or not self._validar_existencia(hasta):
- raise KeyError()
- peso = self._vertices[desde].get_peso(hasta)
- if peso == 1:
- return None
- return peso
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement