crystalg

A Generic Algorithm Library algorithm
HEAD Latest release released

GitHub release

Crystalg

A generic algorithm library for crystal-lang.

Installation

Clone repository manually:

$ git clone https://github.com/TobiasGSmollett/crystalg && cd crystalg/

Or add this to your application's shard.yml:

dependencies:
  crystalg:
    github: TobiasGSmollett/crystalg

Usage

The fastest way to try it is by using Crystal Playground (crystal play):

require "./crystalg"

include Crystalg::Strings

input = "mississippi"
hash = RollingHash.new input
hash.count("issi") # => 2

Documentation

Development

crystal spec

To Do

  • Graph
    • Minimum-Cost Arborescence
    • Strongly Connected Components
    • Flow Alogorithm
      • Minimum Cost Flow
  • Data Structure
    • Red Black Tree
    • Link-Cut Tree
  • String Algorithm
    • Suffix Automaton
  • Computational Geometry
    • Closest Pair
    • Segment Intersections
    • Tangent to a Circle
    • Common Tangent
    • Intersection of a Circle and a Polygon

Contributing

  1. Fork it ( https://github.com/TobiasGSmollett/crystalg/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

crystalg:
  github: TobiasGSmollett/crystalg
  
License MIT
Crystal 1.0.0

Authors

Dependencies 0

Development Dependencies 0

Dependents 0

Last synced .
search fire star recently