# JavaScript: Recursion

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1h 17m | 189 MB

Recursion, in which functions call themselves, is a foundational structure for algorithms. If you find it hard to break a technical problem down into its simplest form, learning recursion may be just what you need. In this course, software engineer Mustapha Rufai provides a detailed guide to understanding recursion using JavaScript, exploring common use cases and detailing ways to approach these kinds of algorithmic challenges. Mustapha teaches you how to think recursively, and safely make JavaScript use this classic pattern. He then moves to showing you how to improve the performance of recursive algorithms, and presents a series of recursive technical interview questions along with his solutions.

Introduction
1 Introduction to recursion algorithms in JavaScript
2 Get the most out of this course

1. How to Think about Recursion
3 Loops and iteration in JavaScript
4 Implement exponentials and factorials with JavaScript loops
5 What is recursion
6 What are base cases
7 Implement exponentials and factorials with recursion
8 Challenge Implement the join() function recursively
9 Solution Implement the join() function recursively

2. How to Improve Recursive Algorithms
10 What is tail recursion
11 Wrapper functions in JavaScript
12 Accumulators for tail recursion
13 Memoization to improve performance of recursive programs
14 JavaScript quickSort() with recursion

3. Solving Recursive Technical Interview Questions
15 How to approach recursive problems
16 Challenge Identify a palindrome
17 Solution Identify a palindrome
18 Challenge Count the number of leaves in a binary tree
19 Solution Count the number of leaves in a binary tree
20 Challenge Find middle of LinkedList
21 Solution Find middle of LinkedList

Conclusion
22 Dig deeper into JavaScript recursion

Homepage