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.
-
471.5m
-
5861.2m
-
121.2m
-
1.6k943.1k
-
29819.6k
-
976518.6k
-
A high-performance graph datastructure library for Elixir projects with multigraph support
2488.0k last 90 days2488.0k -
37469.2k
-
131457.5k
-
crux 0.1.4
Library for boolean satisfiability solving and expression manipulation.
14383.4k last 90 days14383.4k -
murmur 2.0.2
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.
6361.6k last 90 days6361.6k -
229349.6k
-
libgraph 0.16.0
A high-performance graph datastructure library for Elixir projects
571344.8k last 90 days571344.8k -
107286.5k
-
559284.0k
-
298270.6k
-
103241.9k
-
radix 0.5.0
A bitwise radix tree for prefix based matching on bitstring keys of any length.
12212.2k last 90 days12212.2k -
partitioned_buffer 0.4.4
ETS-based partitioned buffer for high-throughput data processing
13163.3k last 90 days13163.3k -
157128.8k
-
limited_queue 0.1.2
Simple Elixir queue, with a constant-time `size/1` and a maximum capacity.
22111.1k last 90 days22111.1k -
3490.2k
-
qex 0.5.2
A `:queue` wrapper with improvements in API and addition of Protocol implementations
3584.6k last 90 days3584.6k -
683.8k
-
4652.0k
-
1836.2k
-
heap 3.0.0
Small composable Heap implementation. Heaps sort elements at insert time.
30.3k last 90 days-30.3k -
1327.8k
-
1527.6k
-
edit_distance 3.0.1
A pure Gleam package to compute the edit distance of two strings
1025.7k last 90 days1025.7k -
combination 0.0.3
Elixir library computing simple combination and permutation on Enumerables.
3422.7k last 90 days3422.7k -
2522.4k
-
1222.0k
-
-20.8k
-
920.2k
-
38019.1k
-
simplify 2.0.1
Implementation of the Ramer–Douglas–Peucker algorithm for reducing the number of points used to represent a curve.
3115.8k last 90 days3115.8k -
512.8k
-
cuckoo_filter 1.0.1
A high-performance, concurrent, and mutable Cuckoo Filter for Erlang and Elixir
4811.7k last 90 days4811.7k -
911.1k
-
1710.9k
-
exterval 0.2.0
Real-valued intervals with support for the `Enumerable` protocol.
1110.8k last 90 days1110.8k -
779.6k
-
358.8k
-
diff_match_patch 0.3.0
An Elixir implementation of the Google diff_match_patch library.
57.9k last 90 days57.9k -
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.
187.9k last 90 days187.9k -
traverse 1.0.1
Traverse is a toolset to walk arbitrary Elixir Datastructures in a functional way.
97.8k last 90 days97.8k -
17.4k
-
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.
917.2k last 90 days917.2k -
1737.0k
-
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.
987.0k last 90 days987.0k -
246.6k
-
656.6k
-
45.9k
-
435.6k
-
105.6k
-
35.5k
-
135.5k
-
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).
15.4k last 90 days15.4k -
3575.2k
-
talan 1.0.0
Probabilistic data structures powered by atomics. Bloom filter, Counting bloom filter, Linear counter (cardinality)
85.0k last 90 days85.0k -
34.4k
-
04.4k
-
1064.3k
-
datastream 0.19.0
Compositional, resource-safe streams for Gleam — runs on Erlang and JavaScript targets
54.1k last 90 days54.1k -
ex_vrp 0.17.0
Elixir bindings for PyVRP - a state-of-the-art vehicle routing problem solver
44.1k last 90 days44.1k -
04.0k
-
114.0k
-
03.9k
-
153.9k
-
113.9k
-
statifier_datamodel 0.7.1
The datamodel document and what can be decided from it: the typed three-scope declaration, its named record and shape types, the path/type index, the read check, compatibility and coverage - pure functions, no dependency on the block editor, the compiler or the UI
03.7k last 90 days03.7k -
ringbuffer 1.3.0
RingBuffer - size limited queue, like a ring or cyclic buffer. With non blocking and non locking writers.
53.6k last 90 days53.6k -
sidereon 3.0.4
Satellite toolkit for Elixir with SGP4 propagation, coordinate transforms, GNSS positioning, orbit determination, conjunction assessment, pass prediction, live TLE/OMM data, real-time tracking, and a Rust NIF backend.
23.6k last 90 days23.6k -
gleamy_structures 1.2.0
Data structures in pure Gleam! Including tree, heap, non empty list, map, set, and priority queue.
333.6k last 90 days333.6k -
73.6k
-
53.5k
-
103.5k
-
463.4k