# graph

package
Version: v1.0.52 Latest Latest

Go to latest
Published: Mar 9, 2020 License: Apache-2.0

## Documentation ¶

### Overview ¶

Package graph provides graph implementations. Currently, this includes an undirected simple graph.

### Constants ¶

This section is empty.

### Variables ¶

View Source
```var (
// ErrVertexNotFound is returned when an operation is requested on a
// non-existent vertex.

// ErrSelfLoop is returned when an operation tries to create a disallowed
// self loop.
ErrSelfLoop = errors.New("self loops not permitted")

// ErrParallelEdge is returned when an operation tries to create a
// disallowed parallel edge.
ErrParallelEdge = errors.New("parallel edges are not permitted")
)```

### Functions ¶

This section is empty.

### Types ¶

#### type SimpleGraph ¶

```type SimpleGraph struct {
// contains filtered or unexported fields
}```

SimpleGraph is a mutable, non-persistent undirected graph. Parallel edges and self-loops are not permitted. Additional description: https://en.wikipedia.org/wiki/Graph_(discrete_mathematics)#Simple_graph

#### func NewSimpleGraph ¶

`func NewSimpleGraph() *SimpleGraph`

NewSimpleGraph creates and returns a SimpleGraph

`func (g *SimpleGraph) AddEdge(v, w interface{}) error`

AddEdge will create an edge between vertices v and w

`func (g *SimpleGraph) Adj(v interface{}) ([]interface{}, error)`

Adj returns the list of all vertices connected to v

#### func (*SimpleGraph) Degree ¶

`func (g *SimpleGraph) Degree(v interface{}) (int, error)`

Degree returns the number of vertices connected to v

#### func (*SimpleGraph) E ¶

`func (g *SimpleGraph) E() int`

E returns the number of edges in the SimpleGraph

#### func (*SimpleGraph) V ¶

`func (g *SimpleGraph) V() int`

V returns the number of vertices in the SimpleGraph