Algorithms and Data structures
Implementations of algorithms and data structures optimized for Elixir's functional programming paradigm. Packages among the 3,000 most downloaded in the past 90 days.
-
-
-
-
-
-
-
-
-
libgraph 0.16.0
A high-performance graph datastructure library for Elixir projects
-
-
-
radix 0.5.0
A bitwise radix tree for prefix based matching on bitstring keys of any length.
-
-
murmur 2.0.0
Murmur is a pure Elixir implementation of the non-cryptographic hash Murmur3. It aims to implement the x86_32bit, x86_128bit and x64_128bit variants.
-
-
-
-
simplify 2.0.1
Implementation of the Ramer–Douglas–Peucker algorithm for reducing the number of points used to represent a curve.
-
-
qex 0.5.1
A `:queue` wrapper with improvements in API and addition of Protocol implementations
-
limited_queue 0.1.2
Simple Elixir queue, with a constant-time `size/1` and a maximum capacity.
-
-
-
-
-
sorted_set_nif 1.2.0
SortedSet is a fast and efficient Rust backed sorted set.
-
-
-
-
heap 3.0.0
Small composable Heap implementation. Heaps sort elements at insert time.
-
-
-
arrays 2.1.1
Well-structured Arrays with fast random-element-access for Elixir, offering a common interface with multiple implementations (MapArray, Erlang :array, etc.) with varying performance guarantees that can be switched in your configuration.
-
bloomex 1.2.0
Bloomex is a pure Elixir implementation of Scalable Bloom Filters.
-
-
nary_tree 0.1.1
NaryTree implements the data structure for n-ary tree (also called rose tree), where each node in the tree can have zero or more children. NaryTree provides methods for traversal and manipulation of the tree structure and node contents.
-
-
permutation 0.2.0
Permutation is a package and protocol for calculating the possible permutations or combinations of an Enumerable.
-
solverl 1.0.16
Elixir/Erlang interface to MiniZinc (https://www.minizinc.org/).
-
-
-
combination 0.0.3
Elixir library computing simple combination and permutation on Enumerables.
-
-
-
-
edit_distance 2.0.1
A pure Gleam package to compute the edit distance of two strings
-
-
-
-
cuckoo_filter 1.0.1
A high-performance, concurrent, and mutable Cuckoo Filter for Erlang and Elixir
-
exterval 0.2.0
Real-valued intervals with support for the `Enumerable` protocol.
-
-
-
-
unrooted_polytree 0.1.1
GenStagA data type and related functions to support an unrooted (multiple starting nodes) polytree (a tree-like graph with edges).
-
diff_match_patch 0.3.0
An Elixir implementation of the Google diff_match_patch library.
-
-
-
-
talan 0.2.0
Probabilistic data structures powered by atomics. Bloom filter, Counting bloom filter, Linear counter (cardinality)
-
-
ringbuffer 1.2.0
RingBuffer - size limited queue, like a ring or cyclic buffer. With non blocking and non locking writers.
-
globalconst 0.3.2
GlobalConst converts large Key-Value entities to a module to make fast accessing by thousands of processes.
-
-
-
-
lexorank_ex 0.1.5
LexoRank on Elixir. An implementation of a list ordering system.
-
-
-
-
-
-
-
traverse 1.0.1
Traverse is a toolset to walk arbitrary Elixir Datastructures in a functional way.
-
-
-
merkle_tree 2.0.0
A hash tree or Merkle tree is a tree in which every non-leaf node is labelled with the hash of the labels or values (in case of leaves) of its child nodes. Hash trees are useful because they allow efficient and secure verification of the contents of large data structures.
-
-
-
monex 0.1.17
Monadic types collection. Option (Maybe) - some(val)/none(). Result - ok(val)/error(err).