An open API service indexing awesome lists of open source software.

https://github.com/msskowron/godatastructures

Collection of data structures implemented in Golang.
https://github.com/msskowron/godatastructures

data-structures go

Last synced: about 1 year ago
JSON representation

Collection of data structures implemented in Golang.

Awesome Lists containing this project

README

          

# GoDataStructures

This repository contains a comprehensive set of data structures implemented in the Go programming language. The majority of these data structures are designed to be generic, making them versatile and reusable in various scenarios.

## Data Structures

Below is a list of the data structures available in this repository along with a brief description of each:

- [**Stack**](./stack/): Last-in, first-out (LIFO) data structure, providing efficient push and pop operations. It's useful for managing elements in a sequential manner.
- [**Queue**](./queue/): First-in, first-out (FIFO) data structure, offering efficient enqueue and dequeue operations. It's ideal for scenarios where elements need to be processed in the order they arrive.
- [**Priority queue**](./priority_queue/): Priority-based data structure that ensures elements are dequeued based on their priority. It's beneficial for tasks requiring element processing based on priority levels.
- [**Heap**](./heap/): Heap data structure, allowing quick access to the minimum or maximum element. It's valuable for tasks that involve managing elements based on their relative ordering.
- [**Linked list**](./linked_list/): Linear data structure consisting of nodes linked together, enabling efficient insertions and deletions. It's useful for scenarios where elements are frequently added or removed.
- [**Hash table**](./hash_table/): Associative data structure that enables efficient key-value pair lookups. It's well-suited for tasks requiring fast access to data based on unique keys.
- [**Binary search tree**](./binary_search_tree/): Binary tree structure that maintains its elements in a sorted order, facilitating quick search and retrieval. It's advantageous for scenarios where fast data retrieval is crucial.
- [**Graph**](./graph/): Versatile data structure used to represent connections between elements, enabling various graph-related algorithms. It's essential for solving problems involving interconnected data.
- [**Trie**](./trie/): Efficient information retrieval data structure, particularly useful for dictionary-like operations. It's valuable for tasks involving efficient prefix-based searches.
- [**Set**](./set/): Collection of unique elements, supporting set operations like union, intersection, and difference. It's beneficial for managing unique data and performing set-based calculations.

## License

The project is available as open source under the terms of the MIT License.