# Todo Tracker

````{div} full-width
```{list-table} To-Do Tracker
:header-rows: 1
:name: todo-tracker

*   - Topic
    - Date Added
    - Concepts to Revisit
    - Resources for Learning
    - Status
    - Date Completed
*   - Hash Map
    - 16-Jul-2023
    - Implementing hashmap from scratch
    -   - [Resource](https://runestone.academy/ns/books/published/pythonds/SortSearch/Hashing.html#implementing-the-map-abstract-data-type)
    -
    -
*   - Hash Map
    - 16-Jul-2023
    - Chaining still averages out to a constant search time, probabilistically
    -   - [Resource](https://medium.com/basecs/hashing-out-hash-functions-ea5dd8beb4dd)
        - [Resource](https://www.youtube.com/watch?v=KyUTuwz_b7Q)
    -
    -
*   - Recursion
    - 18-Jul-2023
    - Strong Induction and Recursion
    - See my `509-fibonacci-number.md` notes and try to extrapolate to other
      problems like trees.
    -
    -
*   - All
    - 18-Jul-2023
    - Make everything same as template, for eg, two sum ii needs to add example section.
    -
    -
    -
*   - Tree and Recursion
    - 18-Jul-2023
    - Check `104-maximum-depth-of-binary-tree.md` and write the section on recursion
      to iteration to recursion.
    -
    -
    -
*   - Tree and Recursion
    - 18-Jul-2023
    - Check `104-maximum-depth-of-binary-tree.md`:  Why do we push two children
        onto the stack when the recursive solution only recurses on one child
        at a time?
    -
    -
    -
*   - Binary Search Tree
    - 19-Jul-2023
    - Check `235-lowest-common-ancestor-of-a-binary-search-tree.md` and write the
      section on constraints and assumptions because this is a great problem to
        illustrate that.
    -
    -
    -
*   - Binary Search
    - 06-Aug-2023
    - Template 1 is done and dusted, but template 2 and 3 as well as upper/lower
      bound are still not done. To revisit?
    - - https://leetcode.com/discuss/explore/binary-search/661491/How-does-template-II-and-III-use-element's-immediate-left-or-right-neighbor
      - https://leetcode.com/explore/learn/card/binary-search/125/template-i/938/
      - https://leetcode.com/problems/binary-search/editorial/
    -
    -
*   - Search a 2D Matrix
    - 06-Aug-2023
    - Done with $\mathcal{O}(m \log n)$ time, can we try $\mathcal{O}(\log (m \times n))$?
    -
    -
    -
*   - Find Minimum in Rotated Sorted Array
    - 06-Aug-2023
    - Don't know how to do, but main intuition is inflexion point.
    -
    -
    -
*   - First Bad Version
    - 06-Aug-2023
    - Use Templated Binary Search
    -
    -
    -
*   - Template Binary Search
    - 06-Aug-2023
    - Take time to understand his template, more powerful than leetcode.
    - https://leetcode.com/problems/koko-eating-bananas/discuss/769702/Python-clear-explanation-powerful-ultimate-binary-search-template-solved-many-problems
    -
    -
*   - Revisit KOKO eating banana question.
    - 06-Aug-2023
    - Good question to understand binary search template.
    -
    -
    -
*   - Binary Tree Paths
    - 09-Aug-2023
    - Solve using recursion and link this to backtracking. But do it iteratively
      as well.
    -
    -
    -
*   - Backtracking
    - 09-Aug-2023
    - Started on backtracking, to understand combination of letters via CSP and backtracking.
    -
    - ✅
    -
*   - Backtracking
    - 12-Aug-2023
    - For N-queens and formalulation.
    - http://www.cs.toronto.edu/~torsten/csc384-f11/lectures/csc384f11-Lecture04-BacktrackingSearch.pdf
    -
    -
*   - Backtracking
    - 12-Aug-2023
    - Finish proving that backtracking is a form of CSP.
    -
    - ✅
    -
*   - Backtracking
    - 13-Aug-2023
    - Check notational abuse in backtracking doc on $\mathcal{A}$ as a sequence or single solution. Find time to fix.
    -
    - ✅
    -
*   - Backtracking
    - 13-Aug-2023
    - As mentioned in the internal nodes section, there may be ambiguity in the definition of a node and that of a path.
    -
    - ✅
    -
*   - Backtracking
    - 13-Aug-2023
    - Finish coding combi question in `tmp.py` and link to backtracking.
    -
    -
    -
*   - Backtracking
    - 15-Aug-2023
    - Properly write phone number combination problem.
    -
    - ✅
    -
*   - Backtracking
    - 15-Aug-2023
    - What is left is the following.
        - ~~Combination of letters~~
        - Finish coding combi question in `tmp.py` and link to backtracking. See above point. Including how to label
        edges and nodes.
        - Time and space complexity of backtracking.
    -
    -
    -
```
````
