Course Information
Course Overview
Algorithms and Data Structures: Recursion, the Stack and Trees
Recursion is a powerful programming technique. A function that calls itself recursively not only saves programming effort and avoids repetition but it can also be used to navigate complex structures such as Trees and Class Hierarchies.
This is an intermediate-to-advanced level course. It is aimed at programmers who can already program confidently in one or more programming languages. It is not appropriate for beginners.
The courses includes numerous short sample programs to show how recursion works. There are samples written in C, Ruby and C#. However, you don’t need to program in those languages to follow this course. Recursion works the same way in all mainstream programming languages. This course explains the theory and the practice of recursion. You can use the techniques that are taught to write recursive functions in whichever language you prefer: C, C#, Java, JavaScript, Python, Basic, Pascal and others. The course is not about any specific language.
This is what you will learn…
What is recursion?
How variables are scoped in recursive functions
How recursive functions return values
The Stack and Stack Frames
Debugging recursive functions
Recursion v Iteration
Stack Corruption, and how to avoid it
Infinite Recursion, and how to avoid it
Recursing Fibonacci Numbers
Recursing a Class Hierarchy
Trees and recursion
Navigating subdirectories recursively
Code samples provided in C, Java, Ruby...
Course Content
- 2 section(s)
- 31 lecture(s)
- Section 1 Understanding Recursion
- Section 2 Using Recursion
What You’ll Learn
- Call functions recursively
- Understand how recursion works
- Understand the stack and stack frames
- Avoid stack corruption
- Use recursion in any mainstream programming language
- Know the pros and cons of recursion and iteration
- Navigate tree structures
- Traverse disk directories recursively
- Code samples in C, Java, Ruby...
Skills covered in this course
Reviews
-
TThomas Brodbeck
Für mich hat sich dieser Kurs gelohnt. Ein Themengebiet, innerhalb des Programmierens, welches gut und verständlich erklärt wird. Dankeschön!
-
JJaime G
If you are studying for coding interviews, def take this course. This course not only focuses on understanding recursion but also debugging.
-
SSharon Forbes
@Huw Collingbourne is by far the best instructor on UDEMY. He carefully explained recursion and provided great examples and documentation. I learn best from seeing code in action and being able to walk through it so Huw's classes are a good match for me.
-
CColin Hughes
Good background course on recursion. Doesn't really cover the techniques for writing recursive techniques, but I recommend this course as a place to start with the foundations.