3.4 Recursive Definitions
Section 3.4 Recursive Definitions 3.4.1 3.4 RECURSIVE DEFINITIONS Functions can be defined recursively. The simplest form of recursive definition of a function f on the natural numbers specifies a basis rule (B) the value f(0) and a recursion rule (R) how to obtain f(n) from f(n − 1), ∀n ≥ 1 Example 3.4.1: n-factorial n! (B) 0!=1 (R) (n + 1)!=(n +1)· n! However, recursive definitions often take some- what more general forms. Example 3.4.2: mergesort (A[1 ...2n]: real) ifn=0 return(A) otherwise return(merge (m’sort(1st half), m’sort(2nd half))) Coursenotes by Prof. Jonathan L. Gross for use with Rosen: Discrete Math and Its Applic., 5th Ed. Chapter 3 MATHEMATICAL REASONING 3.4.2 Since a sequence is defined to be a special kind of a function, some sequences can be specified recursively. Example 3.4.3: Hanoi sequence 0, 1, 3, 7, 15, 31,... h0 =0 hn =2hn−1 +1for n ≥ 1 Example 3.4.4: Fibonacci seq 1, 1, 2, 3, 5, 8, 13,... f0 =1 f1 =1 fn = fn−1 + fn−2 for n ≥ 2 Example 3.4.5: partial sums of sequences n a0 if n =0 aj = n−1 j=0 aj + an otherwise j=0 Example 3.4.6: Catalan sequence 1, 1, 2, 5, 14, 42,... c0 =1 cn = c0cn−1 + c1cn−2 + ···+ cn−1c0 for n ≥ 1 Coursenotes by Prof. Jonathan L. Gross for use with Rosen: Discrete Math and Its Applic., 5th Ed. Section 3.4 Recursive Definitions 3.4.3 RECURSIVE DEFINITION of SETS def: A recursive definition of a set S com- prises the following: (B) a basis clause that specifies a set of primitive elements; (R) a recursive clause that specifies how ele- ments of the set may be constructed from ele- ments already known to be in set S; there may be several recursive subclauses; (E) an implicit exclusion clause that anything not in the set as a result of the basis clause or the recursive clause is not in set S.
[Show full text]