I am a fresh software engineering graduate and I am looking for something to improve my problem solving skills, while I did learn about basic algorithms and data structures, I feel like I could learn further more, I know about big O, fast sorting algorithms, dynamic programming, backtracking, binary trees (Although I do not think I know everything about them), I also know about low level memory concepts.
I am sure I forgot to mention some of the stuff I also know about, but I hope the ones I mentioned give a good insights on where I should move onto next.
https://mitpress.mit.edu/9780262046305/introduction-to-algorithms/
This one is pretty hardcore. I bought the 2nd edition of it over 20 years ago when I started my career as a developer due to not doing a CS degree.
There are YT courses available to support the book. Or rather, the book exists to support the courses:
Don’t mind the ages of these series - I watched them in full, and they’re generally still relevant. I say generally because I’m not sure if I’ll ever use a Tango Tree, but who knows!
PS: If you’re not sure if you don’t know the required Math, I created a graph of all MIT courses with YT videos here. The courses on the left are dependencies for those to the right.
Ha ha came here to suggest exactly this book!
It has it all, from bubble sort up to parallel algos and isn’t it just a killer name, introduction to algorithms…