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.
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…
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.