All Posts
Algorithms: Priority Queue
Canonical Priority Queue problems on LeetCode
Algorithms: Dynamic Programming Problems
A review of dynamic programming and the techniques used to implement it including Brute Force, Top Down Memoization, & Bottom Up Tabulation.
Data Structures & Algorithms: Graph Theory 101
A collection of graph coding problems and their solutions with Big O time complexity. Solutions include not only brute force but optimized solutions as well.
Data Structures & Algorithms: Graph Theory 101
A collection of graph coding problems and their solutions with Big O time complexity. Solutions include not only brute force but optimized solutions as well.
Intro to Graph Theory with Python
An introduction to graph theory using Leet Code problems and Python
Data Structures & Algorithms: How to create a Hash Table?
How to implement a custom Hash Table, analogous to a dict, using simpler data types & a hash function.
Algorithms: Dijkstra's Algorithm
One of the most famous algorithms in the field of graph theory. Useful when finding the shortest paths between nodes in a weighted graph.
Algorithms: Tree Traversals
Most common traversal orders used with binary trees.
Object Oriented Programming
The principles which guide object oriented programming
Data Structures: A Quick Reference
An overview of data structures used to solve more complex problems in the field of computer science.
Data Structures & Algorithms: Patterns of Graph Problems
Patterns often used to solve Graph problems
Data Structures: Patterns of Tree Problems
Patterns often used to solve Tree problems
Algorithms: Bubble Sort, Selection Sort, Insertion Sort, & Merge Sort
Commonly used sorting algorithms & their corresponding Big Os. Develop a better intuition on DSAs by examining canonical sorting algorithms in Python.
Bike Shedding in Software Development
Learn what bike shedding means, why it happens in teams, and how to avoid wasting time on trivial issues.