• Stars
    star
    71
  • Rank 443,012 (Top 9 %)
  • Language
    Go
  • Created about 11 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple and fast graph library

Graph

A graph library with goals of speed and simplicity, Graph implements graph algorithms on graphs of zero-based integer node IDs.

graph?status badge badge?id=github graph

The library provides efficient graph representations and many methods on graph types. It can be imported and used directly in many applications that require or can benefit from graph algorithms.

The library should also be considered as library of source code that can serve as starting material for coding variant or more complex algorithms.

Ancillary material of interest

The directory tutorials is a work in progress - there are only a few tutorials there yet - but the concept is to provide some topical walk-throughs to supplement godoc. The source-based godoc documentation remains the primary documentation.

The directory anecdote contains a stand-alone program that performs single runs of a number of methods, collecting one-off or "anecdotal" timings. It currently runs only a small fraction of the library methods but may still be of interest for giving a general idea of how fast some methods run.

The directory bench is another work in progress. The concept is to present some plots showing benchmark performance approaching some theoretical asymptote.

hacking.adoc has some information about how the library is developed, built, and tested. It might be of interest if for example you plan to fork or contribute to the the repository.

Test coverage

1 Jul 2017

graph          93.7%
graph/alt      88.0%
graph/dot      77.7%
graph/treevis  79.4%

License

All files in the repository are licensed with the MIT License, https://opensource.org/licenses/MIT.

More Repositories

1

meeus

Implementation of "Astronomical Algorithms" by Jean Meeus
Go
327
star
2

quant

An interface for image color quantizers.
Go
38
star
3

LittleBookOfSemaphores

A Go Language take on Allen Downey's Free Book "The Little Book of Semaphores"
Go
22
star
4

integer

Various integer routines, including computation of prime numbers and factorials.
Go
14
star
5

kdtree

K-d tree example code
Go
13
star
6

raycast

Ray casting point-in-polygon algorithm
Go
8
star
7

graph2

Experiments with graph algorithms
Go
6
star
8

multiset

Map-based multisets
Go
6
star
9

vlist

VList data structure
Go
5
star
10

bio

Bioinformatics algorithms
Go
5
star
11

astro

stuff generally useful in astronomy
Go
5
star
12

accsum

Accurate floating point summation algorithms
Go
4
star
13

dlx-sudoku

Solves Sudoku puzzles using Knuth's DLX algorithm
Go
4
star
14

sexagesimal

Sexagesimal formatting
Go
3
star
15

nnls

Non-negative least squares
Go
3
star
16

cluster

A few clustering methods including K-Means++ and UPGMA
Go
3
star
17

knight

Knight's tour solution by ant colony optimization
Go
3
star
18

tagheap

Interface-free heap API
Go
2
star
19

unit

Go
2
star
20

perm

Permutation generators
Go
2
star
21

abrev

Command abbreviation expander
Go
2
star
22

roman

Roman numeral parse and and format.
Go
2
star
23

coord

2D spherical coordinates and 3D cartesian coordinates
Go
2
star
24

vsop87

vsop87 computes planetaty positions using the standard VSOP87 files.
Go
2
star
25

mandelbrot

Mandelbrot set
Go
1
star
26

mpcformat

Formats and conventions of the Minor Planet Center.
Go
1
star
27

exit

Exit a program while both running deferred functions and returning an exit code
Go
1
star
28

lcg

A primitive linear congruential generator
Go
1
star
29

avl

AVL Tree
Go
1
star
30

subseq

Subsequence functions
Go
1
star