This repository contains implementations of various data structures in the Go programming language. Below is a brief overview of each data structure included:
-
Tree: This package provides implementations of various tree data structures such as binary trees, binary search trees (BST), AVL trees, and red-black trees.
-
HashMap: Implementation of a hashmap, also known as a hash table or dictionary, which provides fast lookup, insertion, and deletion operations based on key-value pairs.
-
Heap: Implementation of a heap data structure, including both min-heap and max-heap variants, which allows efficient retrieval of the minimum or maximum element.
-
Linked List: Implementation of singly linked lists, doubly linked lists, and circular linked lists, providing constant-time insertion and removal operations at the beginning and end of the list.
-
Queue: Implementation of a queue data structure, supporting enqueue and dequeue operations, typically following the First-In-First-Out (FIFO) principle.
-
Stack: Implementation of a stack data structure, supporting push and pop operations, typically following the Last-In-First-Out (LIFO) principle.
-
Tries: Implementation of trie data structures, which are used for efficient storage and retrieval of strings, particularly useful for applications such as autocomplete and spell checking.
-
Sorts: Implementation of various sorting algorithms including bubble sort, selection sort, insertion sort, merge sort, quicksort, and heap sort, providing different trade-offs between time complexity and space complexity.
Feel free to explore the implementations provided in this repository and use them in your Go projects. Contributions and feedback are welcome!