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
andEnum.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 andInspect
,Collectable
andEnumerable
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.