My long path towards O(n) longest-path in 2-trees

^ My ClojuTRE 2018 talk

An experience report of using Clojure to implement a novel graph algorithm.

I go over the algorithm, then dive into optimization techniques like choice of data representation, using transient variants of persistent data structures, using macros to inline computations, benchmarking and implementing our own memoization.

I discuss examples of using generative/property-based testing both at the unit and algorithm levels, turning a recursive algorithm into an iterative one and “unrolling” recursion.

Direct links to the video, the slides and the code.

Jordan Biserkov About Blog Oss Links Projects

15 September 2018

Email (preferred comm)
Call (UTC+1)
+47 76 526 00 50
+359 88 602 22 93
Follow me on:
Mastodon: @jbiserkov
Twitter: @jbiserkov