/data-structures

This repository is dedicated to studying the internal implementations of various data structures, such as vectors, linked lists, queues, stacks, trees, heaps, hash tables, and more.

Primary LanguageC++

Data Structures

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.

What's Inside?

  • 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.