awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
zyedidia avatar

zyedidia/generic

0
View on GitHub↗
1,347 stars·81 forks·Go·MIT·1 vue

Generic

This project is a comprehensive library of type-safe, high-performance data structures for Go. By leveraging language-level generics, it provides reusable containers and algorithms that eliminate the need for runtime type assertions or interface casting, ensuring efficient and type-safe data management.

The library distinguishes itself through its support for persistent data structures and specialized indexing. It utilizes copy-on-write semantics and memory sharing to maintain multiple versions of a collection, allowing for efficient modifications without duplicating entire datasets. Additionally, it includes advanced structures such as interval trees for range-based queries and trie implementations for rapid prefix searching and hierarchical data retrieval.

The collection covers a broad range of foundational storage mechanisms, including associative mappings, heaps, queues, stacks, and cache-friendly unrolled lists. It also provides utilities for memory-constrained storage, featuring automatic eviction policies and custom callbacks to manage capacity effectively. These components are designed to support complex state management and high-performance data processing tasks.

Features

  • Go Generic Collections - Provides a comprehensive suite of optimized data structures including trees, heaps, and hash maps for Go.
  • Persistent Collections - Maintains historical states of collections by sharing memory between versions to allow efficient modifications.
  • Caching Structures - Managing memory-constrained data stores with automatic eviction policies to maintain optimal performance for frequently accessed items.
  • Map Data Structures - Provides associative mappings using hashing or tree strategies for fast data access.
  • Persistent Data Structures - Provides persistent data structures using copy-on-write semantics to maintain multiple versions of collections efficiently.
  • Parameterized Type Definitions - Leverages language-level generics to provide type-safe data structures without runtime casting.
  • Generic Data Structures - Leverages language generics to provide type-safe, reusable, and efficient data containers.
  • Copy-on-Write Data Structures - Implements copy-on-write semantics to share memory between versions of data structures for efficient persistence.
  • Unrolled List Implementations - Implements cache-friendly unrolled lists to reduce pointer overhead and improve traversal performance.
  • Tree-Based Storage - The library organizes data in tree structures to facilitate fast searching, range queries, and interval management.
  • Bidirectional Mappings - Maintains dual-index structures to allow efficient lookups in both directions.
  • Self-Balancing Tree Implementations - The library maintains data in self-balancing binary search trees to keep keys sorted and ensure logarithmic performance for operations.
  • Trie-Based Inverted Indexes - Provides trie-based indexing for rapid prefix searching and hierarchical data retrieval.
  • Key-Value Pair Managers - Manages key-value pairs within hash-based structures that automatically resize for performance.
  • Queue Implementations - Maintains collections where the first element added is the first one removed using linked structures.
  • Trie Implementations - The library organizes data in prefix-based structures to enable efficient retrieval, prefix searching, and management of associated values.
  • Multi-Value Mappings - Organizes data into key-value pairs where each key maps to multiple values.
  • Unordered Unique Collection Management - The library stores collections of distinct elements using hash-based implementations to ensure membership uniqueness and efficient lookup.
  • Sequence Slicing - The library provides methods to split, join, and extract segments of a sequence without copying underlying data to optimize memory usage.
  • Augmented Trees - Provides augmented tree structures that maintain metadata for efficient range and intersection queries.
  • Implementations - The library stores elements in a dynamic array that allows items to be added, removed, or inspected from the top.
  • Grid Array Management - Stores and manipulates data in two-dimensional structures with coordinate-based access.
  • Linked Lists - Stores elements in sequences where nodes point to neighbors for efficient modification.
  • Heap Management Operations - Organizes elements in binary min-heap structures to ensure the smallest value is always accessible.
  • Interval Tree Operations - Implements interval tree structures to provide efficient range-based queries and overlap detection with logarithmic performance.
  • Interval Indexing Utilities - Identifies stored intervals that intersect with a range and returns associated values sorted by position.
  • Linked Data Structures - Uses pointer-based nodes to manage collections and enable efficient insertion and removal.
  • Memory-Limited Caches - Manages memory-constrained storage with automatic eviction policies to maintain fixed-capacity caches.
  • Specialized Data Structures - Provides a suite of optimized data structures including stacks, queues, and interval trees for specialized access patterns.
  • Comparison Logic Providers - Decouples data structures from specific types by delegating comparison logic to user-defined functions.
  • Trie Data Structures - Implements prefix-based trie structures for rapid string indexing and hierarchical data retrieval.
  • Prefix Trie Filters - Organizes string-indexed data in trie structures to enable rapid prefix searching and routing.
  • Value Comparison Libraries - Provides utilities to evaluate the relative order of items for sorting and comparison.

Historique des stars

Graphique de l'historique des stars pour zyedidia/genericGraphique de l'historique des stars pour zyedidia/generic

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Collections incluant Generic

Sélections manuelles où Generic apparaît.
  • Generic interface libraries

Alternatives open source à Generic

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Generic.
  • workiva/go-datastructuresAvatar de Workiva

    Workiva/go-datastructures

    7,901Voir sur GitHub↗

    go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance concurrent applications in Go. It provides a modular library of specialized algorithmic toolsets, including a lock-free collection library and an immutable data structure library. The project distinguishes itself through a suite of persistent AVL trees and hash array mapped tries that use branch-copying to preserve previous versions. It also implements non-blocking hash maps, queues, and tries that enable linearizable snapshots and concurrent updates without the use of mutual exclusion

    Go
    Voir sur GitHub↗7,901
  • deckarep/golang-setAvatar de deckarep

    deckarep/golang-set

    4,690Voir sur GitHub↗

    This project is a set theory library for Go that provides a data structure for storing unique elements of any comparable type using generics. It serves as a tool for managing unique collections and performing mathematical operations such as intersections and differences. The library provides synchronized collections to prevent data races during concurrent read and write operations. It also supports converting unique collections to and from JSON arrays for data persistence and network transmission. The implementation covers membership testing, collection cloning, and size calculation. It incl

    Go
    Voir sur GitHub↗4,690
  • aalhour/c-sharp-algorithmsAvatar de aalhour

    aalhour/c-sharp-algorithms

    6,159Voir sur GitHub↗

    This project is a C# algorithms library and collection of data structures. It serves as a computer science reference providing practical implementations of classic sorting, searching, and graph traversal patterns. The library includes a dedicated string processing toolkit for analyzing text similarity, computing edit distances, and managing prefix-based searches. It also features a graph theory implementation for modeling network relationships and calculating shortest paths. The codebase covers a broad range of capabilities, including the management of linear and hierarchical collections, tr

    C#
    Voir sur GitHub↗6,159
  • xtaci/algorithmsAvatar de xtaci

    xtaci/algorithms

    5,454Voir sur 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++
    Voir sur GitHub↗5,454
Voir les 30 alternatives à Generic→

Questions fréquentes

Que fait zyedidia/generic ?

This project is a comprehensive library of type-safe, high-performance data structures for Go. By leveraging language-level generics, it provides reusable containers and algorithms that eliminate the need for runtime type assertions or interface casting, ensuring efficient and type-safe data management.

Quelles sont les fonctionnalités principales de zyedidia/generic ?

Les fonctionnalités principales de zyedidia/generic sont : Go Generic Collections, Persistent Collections, Caching Structures, Map Data Structures, Persistent Data Structures, Parameterized Type Definitions, Generic Data Structures, Copy-on-Write Data Structures.

Quelles sont les alternatives open-source à zyedidia/generic ?

Les alternatives open-source à zyedidia/generic incluent : workiva/go-datastructures — go-datastructures is a collection of thread-safe and lock-free data structures designed for high-performance… deckarep/golang-set — This project is a set theory library for Go that provides a data structure for storing unique elements of any… aalhour/c-sharp-algorithms — This project is a C# algorithms library and collection of data structures. It serves as a computer science reference… xtaci/algorithms — This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides… emirpasic/gods — This project is a comprehensive container framework for Go that provides a suite of fundamental data structures and… apple/swift-collections — This library provides a collection of specialized data structures for the Swift language that extend the standard…