This repository contains implementations of common data structures and algorithms in multiple languages. It’s meant for studying, practicing problem-solving, and improving coding skills. Each implementation includes explanations and example usage.
Each data structure includes the time complexity for key operations using Big-O notation. This provides a quick reference for performance trade-offs.
- Big-O Notation
- Asymptotic Notation
- Arrays
- Stacks
- Queues
- Linked Lists
- Singly-Linked Lists
- Doubly-Linked Lists
- Skip Lists
- Hash Tables
- Hash Maps
- Hash Sets
- Trees
- Binary Search Trees
- Cartesian Trees
- B-Trees
- Red-Black Trees
- Splay Trees
- AVL Trees
- KD Trees
- Tries
- Heaps
- Priority Queues
- Graphs
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- A* Search Algorithm
- Dijkstra's Algorithm
- Sorting Algorithms
- Quicksort
- Mergesort
- Timsort
- Heapsort
- Bubble Sort
- Insertion Sort
- Selection Sort
- Tree Sort
- Shell Sort
- Bucket Sort
- Radix Sort
- Counting Sort
- Cubesort
- Recursion
- Dynamic Programming