Learnings (13)
Learning the ordering invariant, operations, and applications of Binary Search Trees.
Learning about Binary Trees
Learning about Trees, Searching algorithms such as BFS and DFS and Tree Traversal techniques such as In-order, Pre-order, Post-order.
Learning about row major layout and cache behaviour, flat indexing, direction arrays, spiral and diagonal orders, in-place rotation, using the matrix as its own scratch space, staircase search, and treating a grid as a graph with leetcode questions for practice.
Learning about stack frames, recursion depth limits, the recursion tree and complexity, tail calls, converting recursion to an explicit stack, and memoization with leetcode questions for practice.
Learning about the cost model of strings, frequency vectors as window state, bytes vs characters, and rolling hashes for O(1) substring comparison with leetcode questions for practice.
Learning about hash functions, collision resolution, load factor/resizing, and designing a hash map and LRU cache from scratch with leetcode questions for practice.
Learning about comparison-based and non-comparison sorting algorithms with leetcode questions for practice.
Learning about binary search on sorted arrays and binary search on answer with leetcode questions for practice.
A deep dive into how VMs, containers, and isolates achieve isolation, and the tradeoffs of each.
Learning about prefix, suffix and difference arrays.
Learning about sliding window technique and leetcode questions.
Learning about arrays, two pointer approach and cyclic sort pattern with some leetcode questions for practice.