Skip to content
A Generic Algorithm Library for Crystal
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
spec
src
.gitignore
.travis.yml
LICENSE
README.md
shard.yml

README.md

Build Status Dependency Status devDependency Status

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

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

You can’t perform that action at this time.