Data structures and algorithms challenges from different sources.
Introduction to algorithms: big O notation, recursion, divide and conquer.
Built-in data structures: lists, dictionaries, tuples, sets.
User-defined data structures: stacks, queues, trees, linked lists, graphs, hashmaps.
Sorting algorithms: bubble sort, selection sort, insertion sort, quick sort, merge sort, counting sort.
Searching algorithms: linear search, binary search, jump search.
Grokking Algorithms by Aditya Bhargava
Data Structures and Algorithms in Python by Michael T. Goodrich
Data Structures by William Fiset