# Data Structures and Algorithms ## Docs - [Backtracking](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/design-techniques/backtracking.md): Master the backtracking technique for solving constraint satisfaction and combinatorial problems - [Divide and Conquer](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/design-techniques/divide-and-conquer.md): Learn the divide and conquer technique for breaking down complex problems into manageable subproblems - [Dynamic Programming](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/design-techniques/dynamic-programming.md): Master dynamic programming for solving optimization problems with overlapping subproblems - [Greedy Algorithms](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/design-techniques/greedy.md): Learn the greedy technique for solving optimization problems by making locally optimal choices - [Dijkstra's Algorithm](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/graph/dijkstra.md): Find the shortest path from a single source to all other vertices in a weighted directed graph - [Algorithms Overview](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/overview.md): Comprehensive collection of fundamental algorithms in computer science - [Binary search](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/searching/binary-search.md): An efficient divide-and-conquer search algorithm for sorted arrays - [Breadth-first search](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/searching/breadth-first-search.md): A graph traversal algorithm that explores nodes level by level - [Depth-first search](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/searching/depth-first-search.md): A graph traversal algorithm that explores as far as possible along each branch - [Linear search](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/searching/linear-search.md): A simple sequential search algorithm that checks each element in order - [Bubble Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/bubble-sort.md): Simple comparison-based sorting algorithm that repeatedly steps through the list - [Bucket Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/bucket-sort.md): Distribution-based sorting algorithm that divides elements into buckets and sorts them individually - [Counting Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/counting-sort.md): Non-comparison integer sorting algorithm that counts occurrences of each distinct element - [Cycle Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/cycle-sort.md): In-place sorting algorithm that minimizes the number of writes to the array - [Heap Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/heap-sort.md): Comparison-based sorting algorithm using a binary heap data structure with guaranteed O(n log n) performance - [Insertion Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/insertion-sort.md): Efficient algorithm for sorting small datasets that builds the final sorted array one item at a time - [Merge Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/merge-sort.md): Efficient, stable, divide-and-conquer sorting algorithm with guaranteed O(n log n) performance - [Quick Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/quick-sort.md): Highly efficient divide-and-conquer sorting algorithm with average O(n log n) performance - [Radix Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/radix-sort.md): Non-comparison sorting algorithm that sorts integers by processing digits from least to most significant - [Selection Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/selection-sort.md): In-place comparison sorting algorithm that divides the input into sorted and unsorted regions - [Topological Sort](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/algorithms/sorting/topological-sort.md): Graph algorithm that produces a linear ordering of vertices in a directed acyclic graph (DAG) - [Array](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/array.md): Array manipulation patterns and problem-solving techniques - [AVL Tree](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/avl-tree.md): Self-balancing binary search tree with guaranteed O(log n) operations - [Binary Heap](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/binary-heap.md): Min-heap and max-heap implementations for priority queue operations - [Binary Search Tree](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/binary-search-tree.md): BST implementation with insertion, search, and traversal operations - [Doubly Linked List](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/doubly-linked-list.md): Implementation and API reference for doubly linked list data structure - [Graph](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/graph.md): Graph data structure with adjacency list implementation for directed and undirected graphs - [Singly Linked List](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/linked-list.md): Implementation and API reference for singly linked list data structure - [Data Structures Overview](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/overview.md): Comprehensive collection of data structure implementations with detailed API documentation and complexity analysis - [Queue](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/queue.md): FIFO data structure implementation with API reference - [Stack](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/stack.md): LIFO data structure implementation with API reference and problem examples - [Tree](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/data-structures/tree.md): General tree implementation with multiple children per node - [Installation](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/installation.md): Set up the Data Structures and Algorithms library on your local machine - [Introduction](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/introduction.md): A comprehensive TypeScript library of data structures, algorithms, and solved coding problems - [Problems by Data Structure](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/problems/by-data-structure.md): Coding problems organized by data structure: arrays, linked lists, stacks, queues, trees, and graphs - [Problems by Algorithm Technique](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/problems/by-technique.md): Coding problems organized by algorithm design technique: dynamic programming, divide & conquer, greedy algorithms, and backtracking - [Coding Problems Overview](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/problems/overview.md): A comprehensive collection of 20+ coding problems covering essential data structures and algorithm design techniques - [Running Tests](https://mintlify.wiki/dfernandeza/data-structures-and-algorithms/running-tests.md): Learn how to run tests and target specific data structures or algorithms