graph

package
v0.0.0-...-3ef4865 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewVertexSet

func NewVertexSet(size int) *vertexSet

Types

type Edge

type Edge struct {
	// contains filtered or unexported fields
}

func (*Edge) String

func (e *Edge) String() string

type Finder

type Finder interface {
	Find(g *Graph, start *Vertex, target *Vertex, visitor Visitor) bool
}

func NewDFSLoopFinder

func NewDFSLoopFinder() Finder

func NewDFSRecursiveFinder

func NewDFSRecursiveFinder() Finder

type Graph

type Graph struct {
	// contains filtered or unexported fields
}

func New

func New() *Graph

func (*Graph) AddEdge

func (g *Graph) AddEdge(start *Vertex, end *Vertex)

func (*Graph) Dump

func (g *Graph) Dump() string

func (*Graph) Edges

func (g *Graph) Edges(v *Vertex) []*Edge

func (*Graph) Vertices

func (g *Graph) Vertices() []*Vertex

type Vertex

type Vertex struct {
	// contains filtered or unexported fields
}

func NewVertex

func NewVertex(v string) *Vertex

func (*Vertex) IsEqual

func (v *Vertex) IsEqual(other *Vertex) bool

func (*Vertex) String

func (v *Vertex) String() string

type Visitor

type Visitor interface {
	Visit(g *Graph, v *Vertex)
}

func NewListVisitor

func NewListVisitor() Visitor

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL