awesome-repositories.comCategoriesBlog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
emirpasic avatar

emirpasic/gods

0
View on GitHub↗
17,401 stars·1,824 forks·Go·other·14 views

Gods

This project is a comprehensive container framework for Go that provides a suite of fundamental data structures and algorithms. It offers a standardized set of tools for managing, sorting, and traversing complex data collections, enabling developers to implement efficient storage and retrieval logic within their applications.

The library distinguishes itself through an interface-driven design that allows for interchangeable use of different storage implementations. It supports custom ordering and sorting behavior through external comparison functions, which decouple the data structures from specific arrangement rules. This flexibility is complemented by stateful iterators that provide sequential access to elements without exposing the underlying storage details.

The framework covers a broad range of data management capabilities, including the implementation of lists, stacks, queues, trees, and hash maps. It supports hierarchical data modeling through self-balancing trees, efficient key-value mapping, and the maintenance of unique element sets. Additionally, the library includes utilities for dynamic array resizing and data serialization to facilitate persistent storage and reliable data exchange.

Features

  • Go Container Frameworks - Provides a comprehensive, interface-driven container framework for managing and traversing complex data collections in Go.
  • Data Structure Implementations - Implements a comprehensive suite of fundamental data structures including lists, stacks, queues, trees, and hash maps.
  • Data Structure Libraries - Offers a collection of fundamental algorithms and container types including lists, stacks, queues, trees, and hash maps.
  • Balanced Search Trees - Provides self-balancing tree structures that maintain logarithmic time complexity for efficient data storage and retrieval.
  • Custom Sorting Logic - Provides flexible container management by allowing custom comparison functions to define element ordering and sorting behavior.
  • Generic Algorithmic Tools - Provides standardized tools for sorting and traversing data collections using interface-driven design and stateful iterators.
  • Generic Data Abstractions - Uses interface-driven design to provide interchangeable, type-safe generic container implementations.
  • Algorithmic Performance Optimizations - Provides optimized algorithmic implementations for search, sort, and traversal to ensure high performance.
  • Data Structures - Comprehensive collection of containers, lists, and trees.
  • Algorithms - Data structures library.
  • Hierarchical Data Models - Supports hierarchical data modeling through self-balancing tree structures for efficient lookup and modification.
  • Key-Value Pair Managers - Provides key-value mapping structures for efficient data association and lookup.
  • List Data Structures - Provides flexible list data structures supporting indexed access and iteration.
  • Hash Tables - Provides hash table implementations for constant-time key-value lookups in unordered collections.
  • Queue Implementations - Provides specialized stack and queue structures, including priority queues and circular buffers, for controlled data processing.
  • Collection Iterators - Implements stateful iterators for sequential access to collection elements without exposing internal storage details.
  • Unordered Unique Collection Management - Manages collections of unique elements using hash-based or tree-based structures.
  • Task Queues - Includes specialized structures like priority queues and circular buffers for managing task sequences and background processing.
  • Ordered Lists - Maintains ordered sequences using dynamic arrays and linked lists for efficient access.
  • Stack Structures - Implements LIFO and FIFO data structures for efficient linear data management.
  • Comparison Logic Providers - Enables custom ordering behavior through external comparison functions that decouple data structures from specific arrangement rules.
  • Data Serialization Formats - Supports serialization of complex container types into standard formats for persistence.
  • Dynamic Arrays - Implements dynamic array resizing to manage memory efficiently during element insertion.

Star history

Star history chart for emirpasic/godsStar history chart for emirpasic/gods

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Gods

Similar open-source projects, ranked by how many features they share with Gods.
  • xtaci/algorithmsxtaci avatar

    xtaci/algorithms

    5,454View on GitHub↗

    This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides a suite of tools for general algorithm implementation, including data structure management, graph theory analysis, and string processing. The library is distinguished by its specialized toolkits for cryptographic hashing and encoding, featuring implementations of MD5, SHA-1, and Base64. It also includes advanced capabilities for high-performance string processing via suffix trees and arrays, as well as computational number theory for primality testing and arbitrary-precision

    C++
    View on GitHub↗5,454
  • toml-lang/tomltoml-lang avatar

    toml-lang/toml

    20,525View on GitHub↗

    TOML is a configuration file format designed for human readability and unambiguous mapping to hash tables. It serves as a standardized language for structured data, enabling consistent parsing and data exchange across diverse programming environments. The format distinguishes itself through a strict type-system specification that ensures data is interpreted identically regardless of the implementation. It utilizes a line-oriented lexical structure that supports both hierarchical organization through bracketed sections and compact inline embedding for nested objects. This approach allows for t

    View on GitHub↗20,525
  • oi-wiki/oi-wikiOI-wiki avatar

    OI-wiki/OI-wiki

    26,176View on GitHub↗

    This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming. It serves as a centralized repository for algorithmic theory, data structures, and mathematical techniques, providing a structured reference for informatics and collegiate programming competitions. The project distinguishes itself by integrating educational content with a robust suite of automation utilities. It provides a complete workflow for competitive programming, including tools for automated test case generation, solution verification, and direct interaction with onlin

    TypeScriptacm-icpcacm-icpc-handbookalgorithms
    View on GitHub↗26,176
  • kevin-wayne/algs4kevin-wayne avatar

    kevin-wayne/algs4

    7,519View on GitHub↗

    algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard computer science textbook curriculum. It provides a comprehensive suite of fundamental implementations for sorting, searching, and core data organization. The project serves as a graph theory framework, offering tools for representing directed and undirected graphs and performing complex traversals and pathfinding. It also includes a broad sorting algorithm suite and a specialized library of Java data structures, including stacks, queues, priority queues, and symbol tables. I

    Java
    View on GitHub↗7,519
See all 30 alternatives to Gods→

Frequently asked questions

What does emirpasic/gods do?

This project is a comprehensive container framework for Go that provides a suite of fundamental data structures and algorithms. It offers a standardized set of tools for managing, sorting, and traversing complex data collections, enabling developers to implement efficient storage and retrieval logic within their applications.

What are the main features of emirpasic/gods?

The main features of emirpasic/gods are: Go Container Frameworks, Data Structure Implementations, Data Structure Libraries, Balanced Search Trees, Custom Sorting Logic, Generic Algorithmic Tools, Generic Data Abstractions, Algorithmic Performance Optimizations.

What are some open-source alternatives to emirpasic/gods?

Open-source alternatives to emirpasic/gods include: xtaci/algorithms — This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides… toml-lang/toml — TOML is a configuration file format designed for human readability and unambiguous mapping to hash tables. It serves… oi-wiki/oi-wiki — This project is a comprehensive, community-maintained knowledge base and toolkit designed for competitive programming.… kevin-wayne/algs4 — algs4 is a Java data structures library and algorithm reference collection designed as the source code for a standard… redis/go-redis — This project is a feature-rich Go client library designed for interacting with Redis. It serves as a comprehensive… jack-lee-hiter/algorithmsbypython — AlgorithmsByPython is a reference library and educational repository providing runnable Python implementations of…