func (g *Graph) String() string {
	var buffer bytes.Buffer
	for _, v := range g.Vertices {
		for _, neighbour := range v.Adjacencies {
			str := fmt.Sprintf("%d -> %d\n", v.Key, neighbour.Key)
			buffer.WriteString(str)
		}
	}
	return buffer.String()
}
// String returns the string representation of the Graph
String returns the string representation of the Graph
// String returns the string representation of the Graph
func (g *Graph) String() string {
	var buffer bytes.Buffer
	for _, v := range g.Vertices {
		for _, neighbour := range v.Adjacencies {
			str := fmt.Sprintf("%d -> %d\n", v.Key, neighbour.Key)
			buffer.WriteString(str)
		}
	}
	return buffer.String()
}
func ( g * Graph ) String ( ) string { var buffer bytes . Buffer for _ , v := range g . Vertices { for _ , neighbour := range v . Adjacencies { str := fmt . Sprintf ( " \n " , v . Key , neighbour . Key ) buffer . WriteString ( str ) } } return buffer . String ( ) }
String returns the string representation of the Graph
String returns the string representation of the Graph