crystalg 0.1.0

Algorithm Library for Crystal

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

Repository

crystalg

Owner
Statistic
  • 37
  • 2
  • 0
  • 0
  • 0
  • over 3 years ago
  • March 9, 2017
License

MIT License

Links
Synced at

Thu, 07 Nov 2024 07:21:28 GMT

Languages