1. Graph Algorithms For Coding Interviews

    , by

    A quick review of basic graph algorithms and related data structures for coding interviews, with minimal implementations and unit tests provided in Python.

  2. Understanding Recurrence Relations Using Automata, Python Code, And Javascript Visualizations

    , by

    Recurrence relations are very often taught in first- or second-year computer science and discrete mathematics courses. This post takes a somewhat different and more visual approach to understanding linear recurrences and solving them by drawing the link between linear recurrences, automata, and matrices, using the problem of generating all domino-tilings of a board as the springboard. Code in Python and visualizations in JavaScript are used to demonstrate the ideas.

  3. Combinatorial Generation Using Coroutines With Examples in Python

    , by

    Approaching combinatorial generation algorithms using coroutines, with examples in Python. Inspired by Knuth's work in his volume 4 of The Art of Computer Programming, as well as his "Deconstructing Coroutines" paper, co-written with Frank Ruskey.

  4. Common Substring Permutation

    , by

    Short post on a simple problem on common subsequence permutations with a neat one-line Python solution.

  5. Problem-Solving Lessons From George Pólya

    , by

    What I learned from Newman's selections of Pólya's How to Solve It, the influential and beautifully written book on problem-solving techniques and heuristics.