Cute Gopher Mascot

The Best Go Libraries For Data Structures and Algorithms - Frameworks for performing ELT / ETL (76)

Discover the best Go libraries for Data Structures and Algorithms in Frameworks for performing ELT / ETL! Find the perfect tools to streamline your development and boost productivity. From bingo to bit, we've got you covered. Let the coding begin!

bingo

Fast, zero-allocation, lexicographical-order-preserving packing of native types to bytes.

Discover More! 🚀

bit

Golang set data structure with bonus bit-twiddling functions.

Discover More! 🚀

binpacker

Binary packer and unpacker helps user build custom binary stream.

Discover More! 🚀

crunch

Go package implementing buffers for handling various datatypes easily.

Discover More! 🚀

go-ef

A Go implementation of the Elias-Fano encoding.

Discover More! 🚀

roaring

Go package implementing compressed bitsets.

Discover More! 🚀

bitmap

Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go.

Discover More! 🚀

bitset

Go package implementing bitsets.

Discover More! 🚀

bloom

Go package implementing Bloom filters.

Discover More! 🚀

bloom

Bloom filters implemented in Go.

Discover More! 🚀

bloom

Golang Bloom filter implementation.

Discover More! 🚀

bloomfilter

Yet another Bloomfilter implementation in Go, compatible with Java's Guava library.

Discover More! 🚀

boomfilters

Probabilistic data structures for processing continuous, unbounded streams.

Discover More! 🚀

cuckoo-filter

Cuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper are available.

Discover More! 🚀

goradd/maps

Go 1.18+ generic map interface for maps; safe maps; ordered maps; ordered, safe maps; etc.

Discover More! 🚀

cuckoofilter

Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.

Discover More! 🚀

ring

Go implementation of a high performance, thread safe bloom filter.

Discover More! 🚀

algorithms

Algorithms and data structures.CLRS study.

Discover More! 🚀

go-datastructures

Collection of useful, performant, and thread-safe data structures.

Discover More! 🚀

gods

Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.

Discover More! 🚀

gostl

Data structure and algorithm library for go, designed to provide functions similar to C++ STL.

Discover More! 🚀

goterator

Iterator implementation to provide map and reduce functionalities.

Discover More! 🚀

iter

Go implementation of C++ STL iterators and algorithms.

Discover More! 🚀

cmap

a thread-safe concurrent map for go, support using `interface{}` as key and auto scale up shards.

Discover More! 🚀

dict

Python-like dictionaries (dict) for Go.

Discover More! 🚀

go-shelve

A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores.

Discover More! 🚀

concurrent-writer

Highly concurrent drop-in replacement for `bufio.Writer`.

Discover More! 🚀

conjungo

A small, powerful and flexible merge library.

Discover More! 🚀

count-min-log

Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).

Discover More! 🚀

fsm

Finite-State Machine package.

Discover More! 🚀

genfuncs

Go 1.18+ generics package inspired by Kotlin's Sequence and Map.

Discover More! 🚀

go-generics

Generic slice, map, set, iterator, and goroutine utilities.

Discover More! 🚀

go-geoindex

In-memory geo index.

Discover More! 🚀

go-rampart

Determine how intervals relate to each other.

Discover More! 🚀

go-rquad

Region quadtrees with efficient point location and neighbour finding.

Discover More! 🚀

go-tuple

Generic tuple implementation for Go 1.18+.

Discover More! 🚀

go18ds

Go Data Structures using Go 1.18 generics.

Discover More! 🚀

memlog

An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka.

Discover More! 🚀

gofal

fractional api for Go.

Discover More! 🚀

gogu

A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.

Discover More! 🚀

gota

Implementation of dataframes, series, and data wrangling methods for Go.

Discover More! 🚀

hide

ID type with marshalling to/from hash to prevent sending IDs to clients.

Discover More! 🚀

hilbert

Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.

Discover More! 🚀

hyperloglog

HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.

Discover More! 🚀

quadtree

Generic, zero-alloc, 100%-test covered quadtree.

Discover More! 🚀

queue

Multiple thread-safe, generic queue implementations for Go.

Discover More! 🚀

slices

Functions that operate on slices; like `package strings` but adapted to work with slices.

Discover More! 🚀

slices

Pure, generic functions for slices.

Discover More! 🚀

nan

Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.

Discover More! 🚀

null

Nullable Go types that can be marshalled/unmarshalled to/from JSON.

Discover More! 🚀

typ

Null Types, Safe primitive type conversion and fetching value from complex structures.

Discover More! 🚀

deque

A highly optimized double-ended queue.

Discover More! 🚀

deque

Fast ring-buffer deque (double-ended queue).

Discover More! 🚀

goconcurrentqueue

Concurrent FIFO queue.

Discover More! 🚀

dsu

Disjoint Set data structure implementation in Go.

Discover More! 🚀

golang-set

Thread-Safe and Non-Thread-Safe high-performance sets for Go.

Discover More! 🚀

goset

A useful Set collection implementation for Go.

Discover More! 🚀

set

Simple set data structure implementation in Go using LinkedHashMap.

Discover More! 🚀

bleve

Modern text indexing library for go.

Discover More! 🚀

go-adaptive-radix-tree

Go implementation of Adaptive Radix Tree.

Discover More! 🚀

go-edlib

Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.

Discover More! 🚀

levenshtein

Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.

Discover More! 🚀

levenshtein

Implementation to calculate levenshtein distance in Go.

Discover More! 🚀

mspm

Multi-String Pattern Matching Algorithm for information retrieval.

Discover More! 🚀

parsefields

Tools for parse JSON-like logs for collecting unique fields and events.

Discover More! 🚀

ptrie

An implementation of prefix tree.

Discover More! 🚀

trie

Trie implementation in Go.

Discover More! 🚀

hashsplit

Split byte streams into chunks, and arrange chunks into trees, with boundaries determined by content, not position.

Discover More! 🚀

merkle

Space-efficient computation of Merkle root hashes and inclusion proofs.

Discover More! 🚀

skiplist

Very fast Go Skiplist implementation.

Discover More! 🚀

skiplist

Skiplist implementation in Go.

Discover More! 🚀

treap

Persistent, fast ordered map using tree heaps.

Discover More! 🚀

treemap

Generic key-sorted map using a red-black tree under the hood.

Discover More! 🚀

ordered-concurrently

Go module that processes work concurrently and returns output in a channel in the order of input.

Discover More! 🚀

parapipe

FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results.

Discover More! 🚀

pipeline

An implementation of pipelines with fan-in and fan-out.

Discover More! 🚀