/algo

Algorithms and Data Structure For Go Applications

Primary LanguageGoISC LicenseISC

Go Doc Build Status Go Report Card Test Coverage

algo

A collection of common data structures and algorithms for Go applications.

Summary

  • Algorithms
    • Comparative Sorts
      • Selection Sort
      • Insertion Sort
      • Shell Sort
      • Merge Sort
      • Quick Sort
      • 3-Way Quick Sort
      • Heap Sort
    • Non-Comparative Sorts
      • Least Significant Digit
      • Most Significant Digit
      • 3-Way Quick Sort
    • Misc
      • Shuffle
      • Quick Select
  • Data Structures
    • Lists
      • Queue
      • Stack
    • Heaps
      • Binary Heap
      • Indexed Binary Heap
    • Symbol Tables
      • Unordered
      • Ordered
        • BST
        • AVL Tree
        • Red-Black Tree
        • Tries
          • Binary Trie
          • Patricia
    • Graphs
      • Undirected Graph
      • Directed Graph
      • Weighted Undirected Graph
      • Weighted Directed Graph
    • Finite Automata
      • DFA
      • NFA
    • Sets (union, intersection, difference, powerset, partitions, etc.)

Development

Command Purpose
make test Run unit tests
make benchmark Run benchmarks
make coverage Run unit tests and generate coverage report