goext

module
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2024 License: BSD-3-Clause

README

Go Module

Go Reference License Go Report Card Release

Overview

This repository contains a collection of go packages that are meant to extend the standard library. The library is designed to be modular and easy to use, with each package focusing on a specific data structure, algorithm, or some other language feature. The repository also includes iterators that leverage the new Go 1.23 features, along with comprehensive tests for each package.

Installation

To install this module, run:

go get github.com/elordeiro/goext/

You can import specific packages as needed:

import "github.com/elordeiro/goext/seqs"

Contributing

Contributions are welcome! If you find a bug or want to add a new feature, please open an issue or submit a pull request.

License

This project is licensed under the BSD-3 License. See the LICENSE file for details.


Directories

Path Synopsis
algorithms
compression
Package constraints defines a set of useful constraints to be used with type parameters.
Package constraints defines a set of useful constraints to be used with type parameters.
containers
avl
Package avl provides an AVL tree implementation
Package avl provides an AVL tree implementation
deque
Package deque provides a double-ended queue implementation
Package deque provides a double-ended queue implementation
hashgraph
Package hashgraph provides a graph data structure implemented using a hashmap.
Package hashgraph provides a graph data structure implemented using a hashmap.
heap
Package heap provides heap operations for any type that implements heap.Interface.
Package heap provides heap operations for any type that implements heap.Interface.
pq
Package pq provides a priority queue implementation that aims to simplify the use of priority queues in Go.
Package pq provides a priority queue implementation that aims to simplify the use of priority queues in Go.
set
Package set provides a set data structure that can be used to store unique elements.
Package set provides a set data structure that can be used to store unique elements.
slist
Package slist provides a singly linked list implementation.
Package slist provides a singly linked list implementation.
stack
Package stack provides a stack data structure implementation.
Package stack provides a stack data structure implementation.
tuples
Package tuples provides a set of convenient tuple types that can be used in various algorithms and data structures.
Package tuples provides a set of convenient tuple types that can be used in various algorithms and data structures.
tuples/ituples
Package ituples provides interfaces for tuples that can be used in various algorithms and data structures.
Package ituples provides interfaces for tuples that can be used in various algorithms and data structures.
unionfind
Package unionfind provides a UnionFind data structure that keeps track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets.
Package unionfind provides a UnionFind data structure that keeps track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets.
vector
https://go.dev/wiki/SliceTricks
https://go.dev/wiki/SliceTricks
Seq2s package provides a set of functions that operate on iterators.
Seq2s package provides a set of functions that operate on iterators.
transform2
Package transform2 provides functions that transform seq2[K, V] iterators in various ways.
Package transform2 provides functions that transform seq2[K, V] iterators in various ways.
Seqs package provides a set of functions that operate on iterators.
Seqs package provides a set of functions that operate on iterators.
transform
Package transform provides functions that transform seq[V] iterators in various ways.
Package transform provides functions that transform seq[V] iterators in various ways.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL