Recursion For Programmers

Posted By: ELK1nG
Recursion For Programmers

Recursion For Programmers
Last updated 4/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.55 GB | Duration: 2h 5m

Algorithms and Data Structures: Recursion, the Stack and Trees

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…
Requirements
You should already be familiar with one or more programming languages
You should be able to program at least one language with confidence
Description
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 functionsHow recursive functions return valuesThe Stack and Stack FramesDebugging recursive functionsRecursion v IterationStack Corruption, and how to avoid itInfinite Recursion, and how to avoid itRecursing Fibonacci NumbersRecursing a Class HierarchyTrees and recursionNavigating subdirectories recursivelyCode samples provided in C, Java, Ruby…

Overview

Section 1: Understanding Recursion

Lecture 1 What is this course about?

Lecture 2 How to follow this course

Lecture 3 Source Code Archive [DOWNLOAD]

Lecture 4 Java Code Archive

Lecture 5 Readme

Lecture 6 What is Recursion For?

Lecture 7 A Simple Recursive Function

Lecture 8 Debugging Recursion

Lecture 9 Recursion and variable scope

Lecture 10 How recursion works

Lecture 11 Recursion and Stack Frames

Lecture 12 Debugging the Call Stack

Lecture 13 Deeper into Recursion

Lecture 14 Recursion in Ruby

Lecture 15 Recursive Functions that return values

Lecture 16 Return values are special

Lecture 17 Recursion, Iteration or Arithmetic

Section 2: Using Recursion

Lecture 18 Recursing Fibonacci Numbers

Lecture 19 Iterating Fibonacci Numbers

Lecture 20 Infinite Recursion

Lecture 21 The order of arguments

Lecture 22 Stack Corruption

Lecture 23 How Does Stack Corruption Occur?

Lecture 24 How The Stack Grows

Lecture 25 Stack Frames

Lecture 26 Recursing a class library

Lecture 27 Recursing through tree structures

Lecture 28 Directory Navigation – an example in C

Lecture 29 Directory Navigation – an example in Ruby

Lecture 30 Summary of Directory Navigation

Lecture 31 What next?

Programmers who want to understand recursion in depth,Anyone who needs to extend their knowledge of algorithms and data structures