Recursion

https://slides.com/georgelee/ics141-recursion/live

Did you mean "Recursion"?

Inductive and Recursive Definitions

Inductive Definition: Define a function in terms of the previous results

 

Recursive Definition: Define a function in terms of itself. May also use results that have not been calculated yet.

Inductive and Recursive Definitions

We'll typically use recursive definitions.

 

The definition has two parts.

 

Base clause: Step that defines the first couple of elements of the set.

 

Inductive clause: Obtain new elements based on previous elements in the set.

Example: Fibonacci

You may have seen the Fibonacci numbers before.

 

Base clause: f(0) = 1, f(1) = 1

Inductive clause: f(n) = f(n - 1) + f(n - 2) if n > 1

Strings

Definition of a String

Let Σ be a finite, nonempty set of symbols.

 

A string whose alphabet is Σ is a sequence of symbols chosen from Σ. Σ* denotes the set of all strings over Σ.

String Concatenation

Let x = a1a2a3...an and y = b1b2b3...bn

 

The concatenation of the two strings x and y is:

 

xy = a1a2a3...anb1b2b3...bn

Inductive Definition

Base Clause: The empty string (denoted ε or λ) is in Σ*.


Inductive Clause: If x ∈ Σ* and b ∈ Σ, then xb is in Σ*.

Example: Length of a String

How would we write a recursive definition for the length of a string?

Structural Induction

Structural Induction

Yet another variant on the theme. Prove that a recursive definition holds true.

 

Basis step: Prove that the result holds for all elements in the basis step of the definition.

 

Recursive step: Show that if the statement is true for each of the elements used to construct new elements, then the result holds for these new elements.

Recursion

By George Lee

Recursion

  • 782