Introduction to AlgorithmsIntroduces algorithms as problem-solving procedures, covering complexity, correctness, and implementation in various languages.
Solving RecurrencesFocuses on solving recurrences in divide-and-conquer algorithms using various techniques and examples.
Tail RecursionCovers tail recursion, optimizing functions in Scala for iterative processes and providing examples like tail-recursive factorial.