Skip to content
/ algo Public

Algorithms and Data Structure For Go Applications

License

Notifications You must be signed in to change notification settings

moorara/algo

Repository files navigation

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
    • Sets
      • Union
      • Intersection
      • Difference
      • Powerset,
      • Partitions
    • Symbol Tables
      • Unordered
        • Separate Chaining Hash Table
        • Linear Probing Hash Table
        • Quadratic Probing Hash Table
        • Double Hashing Hash Table
      • Ordered
        • BST
        • AVL Tree
        • Red-Black Tree
        • Tries
          • Binary Trie
          • Patricia Trie
    • Graphs
      • Undirected Graph
      • Directed Graph
      • Weighted Undirected Graph
      • Weighted Directed Graph
    • Automata
      • DFA
      • NFA
    • Grammars
      • Context-Free Grammar
        • Chomsky Normal Form
        • Left Recursion Elimination
        • Left Factoring

Development

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