https://kadenbook.com/product/grokking-data-structures/