Data Structures and Algorithms DATA STRUCTURES Strings Arrays Linked lists Stacks and queues Hash maps** and build from scratch with arrays Heaps/Priority queue Trees: binary, binary search, n-ary, tries, balanced binary Graphs: object/pointer, matrix, adjacency list ALGORITHMS Tree traversal: BFS & DFS, preorder, postorder, inorder Graph traversal: BFS and DFS // Computational complexity, tradeoffs, implementation Dijkstra’s Algorithm and A* Other: NP-complete problems, traveling salesman and knapsack problem Sorting Merge sort Quick sort Other sorting algos: heap sort, radix sort, bucket sort Patterns Two pointers Sliding window Binary search Greedy algorithms Intervals Etc Dynamic Programming Bit manipulation OTHER CONCEPTS Mathematics: discrete math, combinatorics, probability BIG O Number theory Testing Resources BIG O BIG O Cheatsheet DATA VISUALIZATION visualgo El Grapho Toptal Sorting Algorithms