I've recently been trying to learn algorithms as a self-taught software engineer. I've made it quite far without much deeper knowledge of the area (I do have some basic overview of course), but it has always been on my mind that I should to study up.<p>I've tried CLRS, but oh boy it's a) a slog to go through, b) very sparse with explanations. You might say that the whole book is one explanation after another, and you'd be technically right, but there's nothing more frustrating than an overly complex explanation that might be absolutely precise yet complex to understand. I also often feel like the language is needlessly complex.<p>On top of that, for example, the mathematical explanations often skip steps that are obvious to authors. You might think it's reasonable, but to a struggling newcomer, this is a huge drag.<p>Unrelated to algorithms (but not totally), I am now studying Discrete Mathematics for Comp Sci [0] since I felt like my math knowledge (or lack thereof) is holding me back in reasoning about algorithms. Even those courses have a fair share of skipping obvious steps in mathematic explanations, but it's doable so far (especially with tools like ChatGPT and Wolfram Alpha to check my understanding).<p>I'm just trying to be a better engineer, and I'm having a really hard time trying to find a suitable resource to learn from.<p>[0] <a href="https://www.coursera.org/specializations/discrete-mathematics" rel="nofollow noreferrer">https://www.coursera.org/specializations/discrete-mathematic...</a>