This repository hosts a collection of the internal implementations of essential data structures in computer science. From basic linear structures like Linked Lists to advanced hierarchical trees and hash tables, this repository provides a comprehensive toolkit for understanding, implementing, and utilizing fundamental data structures in your projects.
- Vector: A dynamic array offering efficient insertion, deletion, and access to elements.
- Singly Linked List: Linear structure where each element points to the next.
- Doubly Linked List: Similar to a singly linked list, but with bidirectional links.
- Sparse Array and Matrix: Efficient storage and access for arrays and matrices with many default values.
- Stack: Last-In-First-Out (LIFO) structure for managing data.
- Queue: First-In-First-Out (FIFO) structure for managing data.
- Binary Tree: Hierarchical structure with at most two children per node.
- Binary Search Tree: Binary tree with efficient searching capabilities.
- Binary Heap: Tree-based structure satisfying the heap property, useful for priority queues.
- AVL Tree: Self-balancing binary search tree ensuring logarithmic time complexity for operations.
- Letter Tree (Trie): Tree-like structure for storing a dynamic set of strings with shared prefixes.
- Hash Table: Data structure for implementing associative arrays based on hash functions.