- https://www.coursera.org/learn/algorithms-part1
- https://www.coursera.org/learn/algorithms-part2
There's a website for the book as well, that has code that is well organized and commented.
Unfortunately excellent books like "Programming Pearls" have code examples that use weird naming conventions that just make me just want to punch the wall.
For competitive programming and interviews, Antti Laaksonen's books are fantastic: https://www.cses.fi/book/index.php