Hacker News new | ask | show | jobs
by trealira 1041 days ago
I'm still in university, but I took discrete math at my university last semester and took data structures over the summer between semesters.

My data structures course mainly was graded from Zybooks assignments. I think it's actually a pretty good and understandable resource. It was this: https://www.zybooks.com/catalog/data-structures-essentials/

Anyway, maybe after you study discrete math from Coursera, that Zybook could help. It has some basics about big-O notation and determining the big-O of an algorithm (and calculating the number of operations it requires), but after that, it's all explanations of data structures accompanied by many animations and pictures. It may be tedious for someone who already knows how e.g. red black trees works, but it helped me understand them, as well as unbalanced BSTs, AVL trees, B-trees, heaps, and graphs. The stacks and queues were tedious for me, because I already know them.

I do think having taken discrete math helped me; I still flipped through CRLS during the course on the side, and their explanations were less impenetrable because I know the basics of mathematical proofs now.

There's also a book on data structures that went over hash functions (it's out of print, but I found a PDF online). It was also helpful for me. I'll reply to this comment with it when I get home.

1 comments

I got home. The book is Handbook of Algorithms and Data Structures in Pascal and C by G.H. Gonnet and R. Baeza Yates.