Skip to content

Latest commit

 

History

History
71 lines (69 loc) · 8.32 KB

algorithms-and-data-structures.md

File metadata and controls

71 lines (69 loc) · 8.32 KB

Algorithms and Data structures

Libraries and implementations of algorithms and data structures.

  • Algorithmia - Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.
  • C# Algorithms - A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components.
  • array - An Elixir wrapper library for Erlang's array.
  • aruspex - Aruspex is a configurable constraint solver, written purely in Elixir.
  • bitmap - Pure Elixir implementation of bitmaps.
  • blocking_queue - BlockingQueue is a simple queue implemented as a GenServer. It has a fixed maximum length established when it is created.
  • bloomex - A pure Elixir implementation of Scalable Bloom Filters.
  • combination - Elixir library to generate combinations and permutations from Enumerable collection.
  • count_buffer - Buffer a large set of counters and flush periodically.
  • cuckoo - A pure Elixir implementation of Cuckoo Filters.
  • cuid - Collision-resistant ids optimized for horizontal scaling and sequential lookup performance, written in Elixir.
  • data_morph - Create Elixir structs from data.
  • dataframe - Package providing functionality similar to Python's Pandas or R's data.frame().
  • datastructures - A collection of protocols, implementations and wrappers to work with data structures.
  • dlist - Deque implementations in Elixir.
  • eastar - A* graph pathfinding in pure Elixir.
  • ecto_state_machine - Finite state machine pattern implemented on Elixir and adopted for Ecto.
  • elistrix - A latency / fault tolerance library to help isolate your applications from an uncertain world of slow or failed services.
  • erlang-algorithms - Implementations of popular data structures and algorithms.
  • exconstructor - An Elixir library for generating struct constructors that handle external data with ease.
  • exfsm - Simple elixir library to define a static FSM.
  • exkad - A kademlia implementation in Elixir.
  • exmatrix - ExMatrix is a small library for working with matrices, originally developed for testing matrix multiplication in parallel.
  • ezcryptex - Thin layer on top of Cryptex.
  • fnv - Pure Elixir implementation of Fowler–Noll–Vo hash functions.
  • fsm - Finite state machine as a functional data structure.
  • fuse - This application implements a so-called circuit-breaker for Erlang.
  • gen_fsm - A generic finite state-machine - Elixir wrapper around OTP's gen_fsm.
  • graphmath - An Elixir library for performing 2D and 3D mathematics.
  • hash_ring_ex - A consistent hash-ring implementation for Elixir.
  • hypex - Fast Elixir implementation of HyperLogLog.
  • indifferent - Indifferent access for Elixir maps/list/tuples with custom key conversion.
  • isaac - Isaac is an elixir module for ISAAC: a fast cryptographic random number generator.
  • key2value - Erlang 2-way Set Associative Map.
  • lfsr - Elixir implementation of a binary Galois Linear Feedback Shift Register.
  • loom - A CRDT library with δ-CRDT support.
  • luhn - Luhn algorithm in Elixir.
  • lz4 - LZ4 bindings for Erlang for fast data compressing.
  • memoize - A memoization macro (defmemo) for elixir using a genserver backing store.
  • merkle_tree - A Merkle hash tree implementation in Elixir.
  • minmaxlist - Elixir library extending Enum.min_by/2, Enum.max_by/2 and Enum.min_max_by/2 to return a list of results instead of just one.
  • mmath - A library for performing math on number 'arrays' in binaries.
  • monad - Haskell inspired monads in Elixir stylish syntax.
  • monadex - Upgrade your Elixir pipelines with monads.
  • murmur - A pure Elixir implementation of the non-cryptographic hash Murmur3.
  • natural_sort - Elixir natural sort implementation for lists of strings.
  • navigation_tree - A navigation tree representation with helpers to generate HTML out of it.
  • parallel_stream - A parallel stream implementation for Elixir.
  • paratize - Elixir library providing some handy parallel processing (execution) facilities that support configuring number of workers and timeout.
  • parex - Parallel Execute (Parex) is an Elixir module for executing multiple (slow) processes in parallel.
  • qex - Wraps :queue, with improved API and Inspect, Collectable and Enumerable protocol implementations.
  • ratio - Adds Rational Numbers and allows them to be used in common arithmatic operations. Also supports conversion between Floats and Rational Numbers.
  • red_black_tree - Red-Black tree implementation in Elixir.
  • remodel - An Elixir presenter package used to transform map structures.
  • rendezvous - Implementation of the Rendezvous or Highest Random Weight (HRW) hashing algorithm in Elixir.
  • sfmt - SIMD-oriented Fast Mersenne Twister (SFMT) for Erlang.
  • simhash - Simhash implementation using Siphash and N-grams.
  • sorted_set - Sorted Sets for Elixir.
  • spacesaving - stream count distinct element estimation using the "space saving" algorithm.
  • structurez - A playground for data structures in Elixir.
  • supermemo - An Elixir implementation of the Supermemo 2 algorithm.
  • tfidf - An Elixir implementation of term frequency–inverse document frequency.
  • the_fuzz - Fuzzy string-matching algorithm implementations.
  • tinymt - Tiny Mersenne Twister (TinyMT) for Erlang.
  • trie - Erlang Trie Implementation.
  • witchcraft - Common algebraic structures and functions for Elixir.
  • zipper_tree - Variadic arity tree with a zipper for Elixir.