From Big-O complexity to Arrays, Trees, Graphs, Sorting, and Dynamic Programming.
Master foundational and advanced computer science algorithms: Asymptotic Big-O analysis, Arrays, Linked Lists, Stacks, Queues, Hash Tables, Binary Search Trees (BST), Heaps, Graphs (BFS/DFS, Dijkstra), Sorting algorithms, and Dynamic Programming.
Time complexity, space complexity, Big-O classes, and asymptotic growth.
Dynamic array amortization, two pointers technique, and sliding window algorithms.
Node pointers, traversal, in-place list reversal, and Floyd's cycle detection algorithm.
LIFO Stacks, FIFO Queues, monotonic stacks, and circular queue buffers.
Hash functions, collision resolution (chaining vs open addressing), and load factor resizing.
Base cases, recursive call stacks, tail call optimization, and backtracking algorithms (N-Queens).
Tree traversals (Pre/In/Post/Level-order), BST search/insert/delete, and balanced AVL trees.
Min-Heaps, Max-Heaps, binary heap array representation, Heapify, and Heap Sort.
Adjacency list vs adjacency matrix, Breadth-First Search (BFS), and Depth-First Search (DFS).
Dijkstra's shortest path algorithm with priority queues, Bellman-Ford, and Union-Find (Disjoint Set).
Overlapping subproblems, optimal substructure, top-down memoization, bottom-up tabulation, and knapsack.