{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/yourbasic/graph","name":"github.com/yourbasic/graph","description":"Package graph contains generic implementations of basic graph algorithms.\n\nThe algorithms in this library can be applied to any graph data\nstructure implementing the two Iterator methods: Order, which returns\nthe number of vertices, and Visit, which iterates over the neighbors\nof a vertex.\n\nAll algorithms operate on directed graphs with a fixed number\nof vertices, labeled from 0 to n-1, and edges with integer cost.\nAn undirected edge {v, w} of cost c is represented by the two\ndirected edges (v, w) and (w, v), both of cost c.\nA self-loop, an edge connecting a vertex to itself,\nis both directed and undirected.\n\nThe type Mutable represents a directed graph with a fixed number\nof vertices and weighted edges that can be added or removed.\nThe implementation uses hash maps to associate each vertex\nin the graph with its adjacent vertices. This gives constant\ntime performance for all basic operations.\n\nThe type Immutable is a compact representation of an immutable graph.\nThe implementation uses lists to associate each vertex in the graph\nwith its adjacent vertices. This makes for fast and predictable\niteration: the Visit method produces its elements by reading\nfrom a fixed sorted precomputed list. This type supports multigraphs.\n\nThe subpackage graph/build offers a tool for building virtual graphs.\nIn a virtual graph no vertices or edges are stored in memory,\nthey are instead computed as needed. New virtual graphs are constructed\nby composing and filtering a set of standard graphs, or by writing\nfunctions that describe the edges of a graph.\n\nThe Basics example shows how to build  a plain graph and how to\nefficiently use the Visit iterator, the key abstraction of this package.\n\nThe DFS example contains a full implementation of depth-first search.\n\nBuild a plain graph and visit all of its edges.\n\n\nShow how to use this package by implementing a complete depth-first search.","version":"v0.0.0-20210606180040-8ecfec1c2869","softwareVersion":"v0.0.0-20210606180040-8ecfec1c2869","license":"https://spdx.org/licenses/BSD-2-Clause","codeRepository":"https://github.com/yourbasic/graph","issueTracker":"https://github.com/yourbasic/graph/issues","url":"https://github.com/yourbasic/graph","programmingLanguage":{"@type":"ComputerLanguage","name":"Go"},"dateCreated":"2017-05-17","dateModified":"2021-06-06","datePublished":"2021-06-06","copyrightYear":2017,"downloadUrl":"https://proxy.golang.org/github.com/yourbasic/graph/@v/v0.0.0-20210606180040-8ecfec1c2869.zip","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/yourbasic/graph#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","developmentStatus":"active","sameAs":["https://pkg.go.dev/github.com/yourbasic/graph"],"https://www.w3.org/ns/activitystreams#likes":630,"https://forgefed.org/ns#forks":58}