crystalg~tobyapi
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
- Fork it ( https://github.com/TobiasGSmollett/crystalg/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Contributors
- TobiasGSmollett tobias - creator, maintainer