docs: def del_vertex(self, vertex):
          """Removes the vertex ``vertex`` and all incident edges from the graph.
  
          **Note** that this is an expensive operation that should be avoided!
  
          Running time is O(V+E)
  
          :param vertex: Vertex
          :return: ``True`` if ``vertex`` was removed from the graph. ``False`` otherwise.
          """
          for v_vertex in self.adj_dict[vertex]:
              self.indegrees[v_vertex] -= 1
  
          for v_vertex in self.vertices():
              if vertex in self.adj_dict[v_vertex]:
                  self.adj_dict[v_vertex].remove(vertex)
  
          if vertex in self._vertices:
              self._vertices.remove(vertex)
              return True
  
          return False