std::ostream& to_dot(std::ostream& out, const adjacency_list<E>& adj_list, const std::string& graph_name) { to_dot(out, adj_list.get_edges(), graph_name); return out; }
void to_dot() const { to_dot(std::cerr); }
void to_dot (heap* h, char* filename) { if (h->min_node != NULL) { to_dot(h->min_node, filename); } }