I had trouble understanding recursion in the section on traversing binary trees in Part 2 of the Data Structures & Algorithms Course. So I did some extra homework and found a couple resources that improved my understanding.
If you are also uncomfortable with recursion, I hope this helps:
-
Recursion for Beginners: A Beginner’s Guide to Recursion
Al Sweigart explains the role of the call stack in recursion (“to understand recursion, you must first understand stacks”), plus when to use recursion vs loops -
Recursion is not hard: a step-by-step walkthrough of this useful programming technique
An excellent written explanation of the use of stacks in recursion