awesome-leetcode-resources
A curated collection of resources for learning data structures and algorithms and preparing for coding interviews, including patterns, problem sets and video playlists.
This repository collects resources for learning data structures and algorithms and preparing for coding interviews. Its fundamental concepts section covers topics such as algorithmic complexity, arrays, bit manipulation, sorting, linked lists, stacks, queues, hash tables, trees, heaps, recursion, backtracking, tries, binary search, greedy algorithms, dynamic programming and graph theory, including specific algorithms such as depth-first and breadth-first traversal, union-find, Dijkstra's algorithm and minimum spanning trees.
A patterns section links to write-ups of recurring interview patterns, including the twenty LeetCode patterns, dynamic programming patterns, two pointers, sliding window, prefix sum, fast and slow pointers, and monotonic stack, alongside curated problem sets such as Blind 75, the LeetCode Top 100 Liked list and the LeetCode Top Interview 150 list.
The collection also links out to YouTube playlists on algorithms, data structures and dynamic programming, two Coursera algorithms courses, two data-structures books, a newsletter, and visualization tools for stepping through algorithms.