Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/EbTech/rust-algorithms
/ types & classes
Types & classes
33 in github.com/EbTech/rust-algorithms
⨍
Functions
212
◇
Types & classes
33
Class
AdjListIterator
An iterator for convenient adjacency list traversal.
src/graph/mod.rs:109
Interface
ArqSpec
A collection of example ArqSpec implementations
src/range_query/specs.rs:3
Enum
AssignMin
Range Minimum Query (RMQ), a classic application of ARQ. update(l, r, &f) sets all entries a[l..=r] to f. query(l, r) finds the minimum value in a[l..
src/range_query/specs.rs:45
Enum
AssignSum
Range Sum Query, a slightly trickier classic application of ARQ. update(l, r, &f) sets all entries a[l..=r] to f. query(l, r) sums all the entries a[l
src/range_query/specs.rs:80
Class
BitRevIterator
We can delete this struct once f64::reverse_bits() stabilizes.
src/math/fft.rs:6
Class
Cacher
The Cacher struct (Memoization) stores a function and a Hashmap. The HashMap keeps track of previous input and output for the function so that it only
src/caching.rs:15
Class
Complex
src/math/num.rs:104
Class
ConnectivityData
Helper struct that carries data needed for the depth-first searches in ConnectivityGraph's constructor.
src/graph/connectivity.rs:6
Class
ConnectivityGraph
Represents the decomposition of a graph into any of its constituent parts: - Connected components (CC), - Strongly connected components (SCC), - 2-ed
src/graph/connectivity.rs:47
Class
DfsIterator
src/graph/util.rs:79
Class
DisjointSets
Represents a union of disjoint sets. Each set's elements are arranged in a tree, whose root is the set's representative.
src/graph/mod.rs:12
Class
DistinctVals
src/range_query/sqrt_decomp.rs:67
Class
DynamicArq
A dynamic, and optionally persistent, associative range query data structure.
src/range_query/dynamic_arq.rs:48
Class
DynamicArqNode
src/range_query/dynamic_arq.rs:5
Interface
FFT
src/math/fft.rs:34
Class
FlowGraph
Representation of a network flow problem with (optional) costs.
src/graph/flow.rs:5
Class
Graph
A compact graph representation. Edges are numbered in order of insertion. Each adjacency list consists of all edges pointing out from a given vertex.
src/graph/mod.rs:45
Class
LiChaoTree
A structure for answering maximum queries on a set of linear functions. Supports two operations: inserting a linear function and querying for maximum
src/li_chao.rs:13
Class
Matcher
Single-pattern matching with the Knuth-Morris-Pratt algorithm
src/string_proc.rs:49
Class
Matrix
src/math/num.rs:251
Interface
MoState
A generic implementation of Mo's algorithm, aka Query Sqrt Decomposition. It answers q offline queries over intervals in 0..n by shifting the query in
src/range_query/sqrt_decomp.rs:5
Class
Modulo
src/math/num.rs:173
Class
MultiMatcher
Multi-pattern matching with the Aho-Corasick algorithm
src/string_proc.rs:117
Class
PiecewiseLinearConvexFn
src/order.rs:93
Class
Rational
src/math/num.rs:18
Class
Scanner
Reads white-space separated tokens one at a time.
src/scanner.rs:7
Class
SparseIndex
A simple data structure for coordinate compression
src/order.rs:59
Class
StaticArq
Colloquially known as a "segtree" in the sport programming literature, it represents a sequence of elements a_i (0 <= i < size) from a monoid (S, +) o
src/range_query/static_arq.rs:20
Class
SuffixArray
Suffix array data structure, useful for a variety of string queries.
src/string_proc.rs:203
Enum
SupplyDemand
Supply & Demand, based on https://codeforces.com/gym/102218/problem/F update(i, i, &(p, o)) increases supply by p and demand by o at time i. query(l,
src/range_query/specs.rs:106
Class
Trie
Prefix trie, easily augmentable by adding more fields and/or methods
src/string_proc.rs:6
Class
UnsafeScanner
Same API as Scanner but nearly twice as fast, using horribly unsafe dark arts
src/scanner.rs:38
Class
Xoshiro256PlusPlus
src/rng.rs:17