Documentation ¶
Index ¶
- type EdgeView
- type Graph
- func (g *Graph[S, T]) ConnectedGraph(seed S) *Graph[S, T]
- func (g *Graph[S, T]) MinimumSpanningTree(seed S, negate bool) *Graph[S, T]
- func (g *Graph[S, T]) PutEdge(tail, head S, weight float32)
- func (g *Graph[S, T]) PutVertex(key S, value T)
- func (g *Graph[S, T]) Render(key2int func(k S) int, value2string func(v T) string) GraphView
- func (g *Graph[S, T]) ShortestPathTree(seed S, costFunc func(x float32) float32) *Graph[S, T]
- type GraphView
- type VertexView
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Graph ¶
type Graph[S comparable, T any] struct { Vertices map[S]T `json:"vertices,omitempty"` Edges map[S]map[S]float32 `json:"edges,omitempty"` }
func NewGraph ¶
func NewGraph[S comparable, T any]() *Graph[S, T]
func (*Graph[S, T]) ConnectedGraph ¶
func (*Graph[S, T]) MinimumSpanningTree ¶
MinimumSpanningTree
- MinimumSpanningTree returns a minimum spanning tree of the graph.
- The seed is the starting point of the tree.
- If negate is true, the maximum spanning tree is returned.
func (*Graph[S, T]) ShortestPathTree ¶ added in v0.2.2
ShortestPathTree
- ShortestPathTree returns a shortest path tree of the graph from the seed.
- The costFunc is a function that returns the cost of the edge.
- Typically, if the weight means like `importance`, the costFunc is a function that returns the 1 / weight.
- It is calculated by Dijkstra's algorithm, so the costFunc must return a positive value.
type GraphView ¶
type GraphView struct { Vertices []VertexView `json:"nodes"` Edges []EdgeView `json:"edges"` }
type VertexView ¶
Click to show internal directories.
Click to hide internal directories.