Induction and recursion
Chapter 5
                                              With Question/Answer Animations
© 2019 McGraw-Hill Education. All rights reserved. Authorized only for instructor use in the classroom. No reproduction or further distribution permitted without the prior written consent of McGraw-Hill Education.
                               Chapter Summary
         Mathematical Induction
         Strong Induction
         Well-Ordering
         Recursive Definitions
         Structural Induction
         Recursive Algorithms
         Program Correctness (not yet included in overheads)
© 2019 McGraw-Hill Education
              Mathematical Induction
                               Section 5.1
© 2019 McGraw-Hill Education
                               Section Summary   1
         Mathematical Induction
         Examples of Proof by Mathematical Induction
         Mistaken Proofs by Mathematical Induction
         Guidelines for Proofs by Mathematical Induction
© 2019 McGraw-Hill Education
                               Climbing an Infinite Ladder
         Suppose we have an infinite ladder:
         1. We can reach the first rung of the ladder.
         2. If we can reach a particular rung of the
            ladder, then we can reach the next rung.
         From (1), we can reach the first rung. Then by
         applying (2), we can reach the second rung.
         Applying (2) again, the third rung. And so on.
         We can apply (2) any number of times to reach
         any particular rung, no matter how high up.
         This example motivates proof by mathematical
         induction.
                                         Jump to long description
© 2019 McGraw-Hill Education
        Principle of Mathematical Induction
         Principle of Mathematical Induction: To prove that P(n) is true for all positive integers n,
         we complete these steps:
            •      Basis Step: Show that P(1) is true.
            •      Inductive Step: Show that P(k) → P(k + 1) is true for all positive integers k.
         To complete the inductive step, assuming the inductive hypothesis that P(k) holds for an
         arbitrary integer k, show that must P(k + 1) be true.
         Climbing an Infinite Ladder Example:
            •      BASIS STEP: By (1), we can reach rung 1.
            •      INDUCTIVE STEP: Assume the inductive hypothesis that we can reach rung k. Then
                   by (2), we can reach rung k + 1.
         Hence, P(k) → P(k + 1) is true for all positive integers k. We can reach every rung on the
         ladder.
© 2019 McGraw-Hill Education
                        Important Points About Using
                          Mathematical Induction
         Mathematical induction can be expressed as the rule of
         inference
                               ( P (1)  k ( P ( k ) → P ( k + 1)) ) → n P ( n) ,
         where the domain is the set of positive integers.
         In a proof by mathematical induction, we don’t assume that P(k)
         is true for all positive integers! We show that if we assume that
         P(k) is true, then P(k + 1) must also be true.
         Proofs by mathematical induction do not always start at the
         integer 1. In such a case, the basis step begins at a starting point
         b where b is an integer. We will see examples of this soon.
© 2019 McGraw-Hill Education
            Validity of Mathematical Induction
         Mathematical induction is valid because of the well ordering property, which
         states that every nonempty subset of the set of positive integers has a least
         element (see Section 5.2 and Appendix 1). Here is the proof:
            • Suppose that P(1) holds and P(k) → P(k + 1) is true for all positive integers k.
            • Assume there is at least one positive integer n for which P(n) is false. Then
              the set S of positive integers for which P(n) is false is nonempty.
            • By the well-ordering property, S has a least element, say m.
            • We know that m can not be 1 since P(1) holds.
            • Since m is positive and greater than 1, m − 1 must be a positive integer.
              Since m − 1 < m, it is not in S, so P(m − 1) must be true.
            • But then, since the conditional P(k) → P(k + 1) for every positive integer k
              holds, P(m) must also be true. This contradicts P(m) being false.
            •        Hence, P(n) must be true for every positive integer n.
© 2019 McGraw-Hill Education
              Remembering How Mathematical
                    Induction Works
         Consider an infinite                                  We know that the first domino
         sequence of dominoes,                                 is knocked down, i.e., P(1) is
         labeled 1,2,3, …, where                               true .
         each domino is standing.
                                                               We also know that if
         Let P(n) be the                                       whenever the kth domino is
         proposition that the nth                              knocked over, it knocks over
         domino is knocked over.                               the (k + 1)st domino, i.e, P(k)
                                                               → P(k + 1) is true for all
                                                               positive integers k.
                                                      Hence, all dominos are knocked over.
                                                      P(n) is true for all positive integers n.
                                    Jump to long description
© 2019 McGraw-Hill Education
               Proving a Summation Formula by
                   Mathematical Induction
                                            n
                                                  n ( n + 1)
         Example: Show that:
                                           
                                           i =1
                                                =
                                                       2
                                                                             Note: Once we have this
                                                                             conjecture, mathematical
         Solution:                                                           induction can be used to
                                                                             prove it correct.
            • BASIS STEP: P(1) is true since 1(1 + 1)/2 = 1.
            • INDUCTIVE STEP: Assume true for P(k).
                                                                k
                                                                      k ( k + 1)
                               The inductive hypothesis is
                                                               
                                                               i =1
                                                                    =
                                                                           2
                   Under this assumption,
                                                   k ( k + 1)
                        1+ 2 +    + k + ( k + 1) =            + ( k + 1)
                                                        2
                                                   k ( k + 1) + 2 ( k + 1)
                                                 =
                                                              2
                                                 =
                                                   ( k + 1)( k + 2)
                                                           2
© 2019 McGraw-Hill Education
           Conjecturing and Proving Correct a
                  Summation Formula
         Example: Conjecture and prove correct a formula for the sum of the first n positive odd integers.
         Then prove your conjecture.
         Solution: We have: 1 = 1, 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 3 + 5 + 7 = 16, 1 + 3 + 5 + 7 + 9 = 25.
            •      We can conjecture that the sum of the first n positive odd integers is n2,
                                                   1+ 3 + 5 +    + ( 2n − 1) = n 2 .
            •      We prove the conjecture is proved correct with mathematical induction.
            •      BASIS STEP: P(1) is true since 12 = 1.
            •      INDUCTIVE STEP: P(k) → P(k + 1) for every positive integer k.
                   Assume the inductive hypothesis holds and then show that P(k + 1) holds has well.
                                      Inductive Hypothesis: 1 + 3 + 5 +        + ( 2k − 1) = k 2
            •      So, assuming P(k), it follows that:
                       1+ 3 + 5 +   + ( 2k − 1) + ( 2k + 1) = 1 + 3 + 5 + + ( 2k − 1)  + ( 2k + 1)
                                                            = k 2 + ( 2k + 1)( by the inductive hypothesis )
                                                            = k 2 + 2k + 1
                                                            = ( k + 1)
                                                                       2
            •      Hence, we have shown that P(k + 1) follows from P(k). Therefore the sum of the first n
                   positive odd integers is n2.
© 2019 McGraw-Hill Education
                                 Proving Inequalities                1
         Example: Use mathematical induction to prove that n < 2n
         for all positive integers n.
         Solution: Let P(n) be the proposition that n < 2n.
            • BASIS STEP: P(1) is true since 1 < 21 = 2.
            • INDUCTIVE STEP: Assume P(k) holds, i.e., k < 2k, for an
              arbitrary positive integer k.
            • Must show that P(k + 1) holds. Since by the inductive
              hypothesis, k < 2k, it follows that:
                         k + 1  2k + 1  2k + 2k = 2  2k = 2k +1
         Therefore n < 2n holds for all positive integers n.
© 2019 McGraw-Hill Education
                                     Proving Inequalities                   2
         Example: Use mathematical induction to prove that 2n < n!, for every
         integer n ≥ 4.
         Solution: Let P(n) be the proposition that 2n < n!.
            • BASIS STEP: P(4) is true since 24 = 16 < 4! = 24.
            • INDUCTIVE STEP: Assume P(k) holds, i.e., 2k < k! for an arbitrary
              integer k ≥ 4. To show that P(k + 1) holds:
                               2k +1 = 2  2k
                                      2 k!         (by the inductive hypothesis )
                                     ( k + 1) k !
                                    = ( k + 1) !
                   Therefore, 2n < n! holds, for every integer n ≥ 4.
         Note that here the basis step is P(4), since P(0), P(1), P(2), and P(3) are all false.
© 2019 McGraw-Hill Education
                               Proving Divisibility Results
         Example: Use mathematical induction to prove that n3 − n is divisible
         by 3, for every positive integer n.
         Solution: Let P(n) be the proposition that n3 − n is divisible by 3.
          • BASIS STEP: P(1) is true since 13 − 1 = 0, which is divisible by 3.
          • INDUCTIVE STEP: Assume P(k) holds, i.e., k3 − k is divisible by 3, for
             an arbitrary positive integer k. To show that P(k + 1) follows:
                                ( k + 1) − ( k + 1) = ( k 3 + 3k 2 + 3k + 1) − ( k + 1)
                                       3
                                                      (        ) (
                                                    = k3 − k + 3 k2 + k      )
              By the inductive hypothesis, the first term (k3 − k) is divisible by 3
              and the second term is divisible by 3 since it is an integer
              multiplied by 3. So by part (i) of Theorem 1 in Section 4.1 , (k + 1)3
              − (k + 1) is divisible by 3.
            Therefore, n3 − n is divisible by 3, for every integer positive integer n.
© 2019 McGraw-Hill Education
              Number of Subsets of a Finite Set                                 1
         Example: Use mathematical induction to show that if S is a
         finite set with n elements, where n is a nonnegative integer,
         then S has 2n subsets.
                      (Chapter 6 uses combinatorial methods to prove this result.)
         Solution: Let P(n) be the proposition that a set with n
         elements has 2n subsets.
           • Basis Step: P(0) is true, because the empty set has only
             itself as a subset and 20 = 1.
           • Inductive Step: Assume P(k) is true for an arbitrary
             nonnegative integer k.
© 2019 McGraw-Hill Education
              Number of Subsets of a Finite Set                              2
         Inductive Hypothesis: For an arbitrary nonnegative integer k, every set
         with k elements has 2k subsets.
         Let T be a set with k + 1 elements. Then T = S ∪ {a}, where a ∈ T
         and S = T − {a}. Hence |S| = k.
         For each subset X of S, there are exactly two subsets of T, i.e., X
         and X ∪ {a}.
         By the inductive hypothesis S has 2k subsets. Since there are two
         subsets of T for each subset of S, the number of subsets of T is 2
         ∙2k = 2k+1 .              Jump to long description
© 2019 McGraw-Hill Education
                               Tiling Checkerboards                              1
         Example: Show that every 2n × 2n checkerboard with one square removed
         can be tiled using right triominoes.
           A right triomino is an L-shaped tile which covers
           three squares at a time.
         Solution: Let P(n) be the proposition that every 2n × 2n checkerboard with
         one square removed can be tiled using right triominoes. Use mathematical
         induction to prove that P(n) is true for all positive integers n.
            •      BASIS STEP: P(1) is true, because each of the four 2 × 2 checkerboards with one
                   square removed can be tiled using one right triomino.
            •      INDUCTIVE STEP: Assume that P(k) is true for every 2k × 2k checkerboard, for
                   some positive integer k.
                                                Jump to long description
© 2019 McGraw-Hill Education
                               Tiling Checkerboards                          2
         Inductive Hypothesis: Every 2k × 2k checkerboard, for some positive integer
         k, with one square removed can be tiled using right triominoes.
         Consider a 2k+1 × 2k+1 checkerboard with one square removed. Split this checkerboard
         into four checkerboards of size 2k ×2k,by dividing it in half in both directions.
         Remove a square from one of the four 2k × 2k checkerboards. By the inductive
         hypothesis, this board can be tiled. Also by the inductive hypothesis, the other three
         boards can be tiled with the square from the corner of the center of the original board
         removed. We can then cover the three adjacent squares with a triomino.
         Hence, the entire 2k+1 × 2k+1 checkerboard with one square removed can be tiled
         using right triominoes.
                                            Jump to long description
© 2019 McGraw-Hill Education
   An Incorrect “Proof” by Mathematical
                 Induction                               1
         Example: Let P(n) be the statement that every set of n lines in the
         plane, no two of which are parallel, meet in a common point. Here
         is a “proof” that P(n) is true for all positive integers n ≥ 2.
           • BASIS STEP: The statement P(2) is true because any two lines in the
             plane that are not parallel meet in a common point.
           • INDUCTIVE STEP: The inductive hypothesis is the statement that P(k)
             is true for the positive integer k ≥ 2, i.e., every set of k lines in the
             plane, no two of which are parallel, meet in a common point.
           • We must show that if P(k) holds, then P(k + 1) holds, i.e., if every set
             of k lines in the plane, no two of which are parallel, k ≥ 2, meet in a
             common point, then every set of k + 1 lines in the plane, no two of
             which are parallel, meet in a common point.
© 2019 McGraw-Hill Education
   An Incorrect “Proof” by Mathematical
                 Induction                                            2
            Inductive Hypothesis: Every set of k lines in the plane, where k ≥ 2, no
            two of which are parallel, meet in a common point.
         Consider a set of k + 1 distinct lines in the plane, no two parallel. By the
         inductive hypothesis, the first k of these lines must meet in a common point p1.
         By the inductive hypothesis, the last k of these lines meet in a common point p2.
         If p1 and p2 are different points, all lines containing both of them must be the
         same line since two points determine a line. This contradicts the assumption
         that the lines are distinct. Hence, p1 = p2 lies on all k + 1 distinct lines, and
         therefore P(k + 1) holds. Assuming that k ≥2, distinct lines meet in a common
         point, then every k + 1 lines meet in a common point.
         There must be an error in this proof since the conclusion is absurd. But where is
         the error?
            •      Answer: P(k)→ P(k + 1) only holds for k ≥3. It is not the case that P(2) implies P(3).
                   The first two lines must meet in a common point p1 and the second two must meet
                   in a common point p2. They do not have to be the same point since only the second
                   line is common to both sets of lines.
© 2019 McGraw-Hill Education
                            Guidelines:
                     Mathematical Induction Proofs
         Template for Proofs by Mathematical Induction
         1.        Express the statement that is to be proved in the form “for all n ≥ b, P(n)” for a
                   fixed integer b.
         2.        Write out the words “Basis Step.” Then show that P(b) is true, taking care that the
                   correct value of b is used. This completes the first part of the proof.
         3.        Write out the words “Inductive Step”.
         4.        State, and clearly identify, the inductive hypothesis, in the form “assume that P(k)
                   is true for an arbitrary fixed integer k ≥ b.”
         5.        State what needs to be proved under the assumption that the inductive
                   hypothesis is true. That is, write out what P(k + 1) says.
         6.        Prove the statement P(k + 1) making use the assumption P(k). Be sure that your
                   proof is valid for all integers k with k ≥ b, taking care that the proof works for
                   small values of k, including k = b.
         7.        Clearly identify the conclusion of the inductive step, such as by saying “this
                   completes the inductive step.”
         8.        After completing the basis step and the inductive step, state the conclusion,
                   namely, by mathematical induction, P(n) is true for all integers n with n ≥ b.
© 2019 McGraw-Hill Education
                         Strong Induction and
                            Well-Ordering
                                Section 5.2
© 2019 McGraw-Hill Education
                               Section Summary   2
         Strong Induction
         Example Proofs using Strong Induction
         Using Strong Induction in Computational
         Geometry (not yet included in overheads)
         Well-Ordering Property
© 2019 McGraw-Hill Education
                                  Strong Induction
         Strong Induction: To prove that P(n) is true for all positive
         integers n, where P(n) is a propositional function, complete
         two steps:
            • Basis Step: Verify that the proposition P(1) is true.
            • Inductive Step: Show the conditional statement
                      P (1)  P ( 2)     P ( k )  → P ( k + 1)
                   holds for all positive integers k.
                                Strong Induction is sometimes called
                                the second principle of mathematical
                                induction or complete induction.
© 2019 McGraw-Hill Education
                               Strong Induction and
                                the Infinite Ladder
         Strong induction tells us that we can reach all rungs if:
         1. We can reach the first rung of the ladder.
         2. For every integer k, if we can reach the first k rungs,
            then we can reach the (k + 1)st rung.
         To conclude that we can reach every rung by strong
         induction:
            •      BASIS STEP: P(1) holds
            •      INDUCTIVE STEP: Assume P(1) ∧ P(2) ∧∙∙∙ ∧ P(k)
                   holds for an arbitrary integer k, and show that
                   P(k + 1) must also hold.
         We will have then shown by strong induction that for
         every positive integer n, P(n) holds, i.e., we can
         reach the nth rung of the ladder.
© 2019 McGraw-Hill Education
                         Proof using Strong Induction                 1
         Example: Suppose we can reach the first and second rungs of an
         infinite ladder, and we know that if we can reach a rung, then we
         can reach two rungs higher. Prove that we can reach every rung.
         (Try this with mathematical induction.)
         Solution: Prove the result using strong induction.
            • BASIS STEP: We can reach the first step.
            • INDUCTIVE STEP: The inductive hypothesis is that we can
              reach the first k rungs, for any k ≥ 2. We can reach the
              (k + 1)st rung since we can reach the (k − 1)st rung by the
              inductive hypothesis.
            • Hence, we can reach all rungs of the ladder.
© 2019 McGraw-Hill Education
         Which Form of Induction Should Be
                      Used?
         We can always use strong induction instead of
         mathematical induction. But there is no reason to use it
         if it is simpler to use mathematical induction. (See page
         335 of text.)
         In fact, the principles of mathematical induction, strong
         induction, and the well-ordering property are all
         equivalent. (Exercises 41-43)
         Sometimes it is clear how to proceed using one of the
         three methods, but not the other two.
© 2019 McGraw-Hill Education
         Completion of the proof of the
       Fundamental Theorem of Arithmetic
         Example: Show that if n is an integer greater than 1, then n can be written as the
         product of primes.
         Solution: Let P(n) be the proposition that n can be written as a product of primes.
            •      BASIS STEP: P(2) is true since 2 itself is prime.
            •      INDUCTIVE STEP: The inductive hypothesis is P(j) is true for all integers j with
                   2 ≤ j ≤ k. To show that P(k + 1) must be true under this assumption, two cases
                   need to be considered:
                     • If k + 1 is prime, then P(k + 1) is true.
                     • Otherwise, k + 1 is composite and can be written as the product of two
                       positive integers a and b with 2 ≤ a ≤ b < k + 1. By the inductive hypothesis a
                       and b can be written as the product of primes and therefore k + 1 can also be
                       written as the product of those primes.
         Hence, it has been shown that every integer greater than 1 can be written as the
         product of primes.
                   (uniqueness proved in Section 4.3)
© 2019 McGraw-Hill Education
                         Proof using Strong Induction                           2
         Example: Prove that every amount of postage of 12 cents or more can be
         formed using just 4-cent and 5-cent stamps.
         Solution: Let P(n) be the proposition that postage of n cents can be formed
         using 4-cent and 5-cent stamps.
            • BASIS STEP: P(12), P(13), P(14), and P(15) hold.
                     • P(12) uses three 4-cent stamps.
                     • P(13) uses two 4-cent stamps and one 5-cent stamp.
                     • P(14) uses one 4-cent stamp and two 5-cent stamps.
                     • P(15) uses three 5-cent stamps.
            • INDUCTIVE STEP: The inductive hypothesis states that P(j) holds for 12 ≤ j
              ≤ k, where k ≥ 15. Assuming the inductive hypothesis, it can be shown
              that P(k + 1) holds.
            • Using the inductive hypothesis, P(k − 3) holds since k − 3 ≥ 12. To form
              postage of k + 1 cents, add a 4-cent stamp to the postage for k − 3 cents.
              Hence, P(n) holds for all n ≥ 12.
© 2019 McGraw-Hill Education
                          Proof of Same Example using
                            Mathematical Induction
         Example: Prove that every amount of postage of 12 cents or more can be
         formed using just 4-cent and 5-cent stamps.
         Solution: Let P(n) be the proposition that postage of n cents can be formed
         using 4-cent and 5-cent stamps.
            • BASIS STEP: Postage of 12 cents can be formed using three 4-cent stamps.
            • INDUCTIVE STEP: The inductive hypothesis P(k) for any positive integer k is
              that postage of k cents can be formed using 4-cent and 5-cent stamps. To
              show P(k + 1) where k ≥ 12 , we consider two cases:
                     • If at least one 4-cent stamp has been used, then a 4-cent stamp can be
                       replaced with a 5-cent stamp to yield a total of k + 1 cents.
                     • Otherwise, no 4-cent stamp have been used and at least three 5-cent stamps
                       were used. Three 5-cent stamps can be replaced by four 4-cent stamps to yield
                       a total of k + 1 cents.
         Hence, P(n) holds for all n ≥ 12.
© 2019 McGraw-Hill Education
                               Well-Ordering Property                            1
         Well-ordering property: Every nonempty set of nonnegative
         integers has a least element.
         The well-ordering property is one of the axioms of the positive
         integers listed in Appendix 1.
         The well-ordering property can be used directly in proofs, as the
         next example illustrates.
         The well-ordering property can be generalized.
            • Definition: A set is well ordered if every subset has a least element.
                     • N is well ordered under ≤.
                     • The set of finite strings over an alphabet using lexicographic ordering
                       is well ordered.
            • We will see a generalization of induction to sets other than the
              integers in the next section.
© 2019 McGraw-Hill Education
                                 Well-Ordering Property                 2
         Example: Use the well-ordering property to prove the division
         algorithm, which states that if a is an integer and d is a positive
         integer, then there are unique integers q and r with 0 ≤ r < d, such that
         a = dq + r.
         Solution: Let S be the set of nonnegative integers of the form a − dq,
         where q is an integer. The set is nonempty since −dq can be made as
         large as needed.
            • By the well-ordering property, S has a least element r = a − dq0.
              The integer r is nonnegative. It also must be the case that r < d. If it
              were not, then there would be a smaller nonnegative element in S,
              namely, a − d ( q0 + 1) = a − dq0 − d = r − d  0.
            • Therefore, there are integers q and r with 0 ≤ r < d.
                               (uniqueness of q and r is Exercise 37)
© 2019 McGraw-Hill Education
          Recursive Definitions and
            Structural Induction
                               Section 5.3
© 2019 McGraw-Hill Education
                               Section Summary   3
         Recursively Defined Functions
         Recursively Defined Sets and Structures
         Structural Induction
         Generalized Induction
© 2019 McGraw-Hill Education
                      Recursively Defined Functions             1
         Definition: A recursive or inductive definition of a
         function consists of two steps.
            • BASIS STEP: Specify the value of the function at zero.
            • RECURSIVE STEP: Give a rule for finding its value at
              an integer from its values at smaller integers.
         A function f(n) is the same as a sequence a0, a1, … ,
         where ai, where f(i) = ai. This was done using recurrence
         relations in Section 2.4.
© 2019 McGraw-Hill Education
                      Recursively Defined Functions                           2
         Example: Suppose f is defined by:
            f ( 0) = 3,
            f ( n + 1) = 2 f ( n) + 3
         Find f(1), f(2), f(3), f(4)
         Solution:
            f (1) = 2 f ( 0) + 3 = 2  3 + 3 = 9
                  f ( 2) = 2 f (1) + 3 = 2  9 + 3 = 21
                  f ( 3) = 2 f ( 2) + 3 = 2  21 + 3 = 45
                  f ( 4) = 2 f ( 3) + 3 = 2  45 + 3 = 93
         Example: Give a recursive definition of the factorial function n!:
         Solution: f ( 0) = 1
                               f ( n + 1) = ( n + 1)  f ( n)
© 2019 McGraw-Hill Education
                      Recursively Defined Functions            3
         Example: Give a recursive definition of:
                                 n
                                a .
                                k =0
                                       k
         Solution: The first part of the definition is
                                 0
                                a
                                k =0
                                       k   = a0 .
         The second part is     n +1
                                           n 
                                
                                k =0
                                     ak =   ak  + an + 1.
                                           k =0 
© 2019 McGraw-Hill Education
                               Fibonacci Numbers                1
         Example : The Fibonacci numbers are defined as                   Fibonacci
         follows:                                                       (1170- 1250)
          f0 = 0
            f1 = 1                              In Chapter 8, we will use the
                                                Fibonacci numbers to model
            f n = f n −1 + f n − 2              population growth of rabbits.
                                                This was an application
         Find f2, f3 , f4 , f5 .
                                                described by Fibonacci himself.
                   f 2 = f1 + f 0 = 1 + 0 = 1   Next, we use strong induction
                   f3 = f 2 + f1 = 1 + 1 = 2    to prove a result about the
                                                Fibonacci numbers.
                   f 4 = f3 + f 2 = 2 + 1 = 3
                   f5 = f 4 + f3 = 3 + 2 = 5
© 2019 McGraw-Hill Education
                                           Fibonacci Numbers                                          2
         Example 4: Show that whenever n  3, f n   n − 2 , where  = 1 + 5 2.                          (         )
         Solution: Let P(n) be the statement f n   n − 2 .
         Use strong induction to show that P(n) is true whenever n ≥ 3.
            •      BASIS STEP: P(3) holds since   2 = f 3
                                        P(4) holds since  = 3 + 5
                                                                2
                                                                      (        )   2  3 = f4 .
            •      INDUCTIVE STEP: Assume that P(j) holds, i.e., fj > αj−2 for all integers j with
                    3 ≤ j ≤ k, where k ≥ 4. Show that P(k + 1) holds, i.e., f k +1  
                                                                                                      k −1
                                                                                                             .
                     •     Since α2 = α + 1 (because α is a solution of x2 − x − 1 = 0),
                                k −1 =  2   k −3 = ( + 1)   k −3 =    k −3 + 1  k −3 =  k − 2 +  k −3
                     •     By the inductive hypothesis, because k ≥ 4 we have
                                                       f k −1   k −3 ,    fk   k −2 .                        Why does this
                     •     Therefore, it follows that
                                                                                                                 equality hold?
                                                 f k +1 = f k + f k −1   k − 2 +  k −3 =  k −1.
                     •     Hence, P(k + 1) is true.
© 2019 McGraw-Hill Education
                                     Lamé’s Theorem                               1
         Lamé’s Theorem: Let a and b be positive integers with a ≥ b.
         Then the number of divisions used by the Euclidian algorithm to                       Gabriel Lamé
         find gcd(a,b) is less than or equal to five times the number of                       (1795-1870)
         decimal digits in b.
         Proof: When we use the Euclidian algorithm to find gcd(a,b) with a ≥ b,
           • n divisions are used to obtain                   • Since each quotient q1, q2 , …,qn-1 is
             (with a = r0,b =r1 ):                              at least 1 and qn ≥ 2:
                  r0 = r1q1 + r2          0  r2  r1 ,          rn  1 = f 2 ,
                  r1 = r2 q2 + r3         0  r3  r2 ,          rn −1  2rn  2 f 2 = f 3 ,
                                                                 rn − 2  rn −1 + rn  f3 + f 2 = f 4 ,
                  rn − 2 = rn −1qn −1 + rn 0  rn  rn −1 ,
                  rn −1 = rn qn .                                r2  r3 + r4  f n −1 + f n − 2 = f n ,
                                                                 b = r1  r2 + r3  f n + f n −1 = f n +1.
© 2019 McGraw-Hill Education
                                 Lamé’s Theorem                       2
         It follows that if n divisions are used by the Euclidian algorithm to find
         gcd(a,b) with a ≥ b, then b ≥ fn+1. By Example 4, fn+1 > αn − 1, for n > 2,
         where α = (1 + √5)/2. Therefore, b > αn−1.
         Because log10 α ≈ 0.208 > 1/5, log10 b > (n−1) log10 α > (n−1)/5 . Hence,
                               n − 1  5  log10 b.
         Suppose that b has k decimal digits. Then b < 10k and log10 b < k. It
         follows that n − 1 < 5k and since k is an integer, n ≤ 5k.
          As a consequence of Lamé’s Theorem, O(log b) divisions are used by
         the Euclidian algorithm to find gcd(a,b) whenever a > b.
            • By Lamé’s Theorem, the number of divisions needed to find gcd(a,b) with
              a > b is less than or equal to 5 (log10 b + 1) since the number of decimal
              digits in b (which equals ⌊log10 b⌋ + 1) is less than or equal to log10 b + 1.
         Lamé’s Theorem was the first result in computational complexity
© 2019 McGraw-Hill Education
       Recursively Defined Sets and Structures                                         1
         Recursive definitions of sets have two parts:
            • The basis step specifies an initial collection of elements.
            • The recursive step gives the rules for forming new elements in the set
              from those already known to be in the set.
         Sometimes the recursive definition has an exclusion rule, which
         specifies that the set contains nothing other than those
         elements specified in the basis step and generated by
         applications of the rules in the recursive step.
         We will always assume that the exclusion rule holds, even if it is
         not explicitly mentioned.
         We will later develop a form of induction, called structural
         induction, to prove results about recursively defined sets.
© 2019 McGraw-Hill Education
       Recursively Defined Sets and Structures                               2
         Example : Subset of Integers S:
                   BASIS STEP: 3 ∊ S.
                   RECURSIVE STEP: If x ∊ S and y ∊ S, then x + y is in S.
         Initially 3 is in S, then 3 + 3 = 6, then 3 + 6 = 9, etc.
         Example: The natural numbers N.
                   BASIS STEP: 0 ∊ N.
                   RECURSIVE STEP: If n is in N, then n + 1 is in N.
         Initially 0 is in S, then 0 + 1 = 1, then 1 + 1 = 2, etc.
© 2019 McGraw-Hill Education
                                           Strings
         Definition: The set Σ* of strings over the alphabet Σ:
                   BASIS STEP: λ ∊ Σ* (λ is the empty string)
                   RECURSIVE STEP: If w is in Σ* and x is in Σ, then wx  Σ*.
         Example: If Σ = {0,1}, the strings in in Σ* are the set of
         all bit strings, λ,0,1, 00,01,10, 11, etc.
         Example: If Σ = {a,b}, show that aab is in Σ*.
            • Since λ ∊ Σ* and a ∊ Σ, a ∊ Σ*.
            • Since a ∊ Σ* and a ∊ Σ, aa ∊ Σ*.
            • Since aa ∊ Σ* and b ∊ Σ, aab ∊ Σ*.
© 2019 McGraw-Hill Education
                               String Concatenation
         Definition: Two strings can be combined via the
         operation of concatenation. Let Σ be a set of symbols
         and Σ* be the set of strings formed from the symbols
         in Σ. We can define the concatenation of two strings,
         denoted by ∙, recursively as follows.
                   BASIS STEP: If w  Σ*, then w ∙ λ= w.
                   RECURSIVE STEP: If w1  Σ* and w2  Σ* and x  Σ, then w1 ∙
                      (w2 x)= (w1 ∙ w2)x.
         Often w1 ∙ w2 is written as w1 w2.
         If w1 = abra and w2 = cadabra, the concatenation
         w1 w2 = abracadabra.
© 2019 McGraw-Hill Education
                               Length of a String
         Example: Give a recursive definition of l(w), the
         length of the string w.
         Solution: The length of a string can be
         recursively defined by:
               l (  ) = 0;
               l ( wx ) = l ( w) + 1 if w   and x  .
© 2019 McGraw-Hill Education
                               Balanced Parentheses
         Example: Give a recursive definition of the set
         of balanced parentheses P.
         Solution:
            BASIS STEP: () ∊ P
            RECURSIVE STEP: If w ∊ P, then () w ∊ P, (w) ∊ P and
              w () ∊ P.
         Show that (() ()) is in P.
         Why is ))(() not in P?
© 2019 McGraw-Hill Education
Well-Formed Formulae in Propositional
               Logic
         Definition: The set of well-formed formulae in
         propositional logic involving T, F, propositional
         variables, and operators from the set {¬,∧,∨,→,↔}.
            BASIS STEP: T,F, and s, where s is a propositional variable, are
              well-formed formulae.
            RECURSIVE STEP: If E and F are well formed formulae, then (¬ E),
              (E ∧ F), (E ∨ F), (E → F), (E ↔ F), are well-formed formulae.
         Examples: ((p ∨q) → (q ∧ F)) is a well-formed formula.
                               pq ∧ is not a well formed formula.
© 2019 McGraw-Hill Education
                                Rooted Trees
         Definition: The set of rooted trees, where a rooted tree
         consists of a set of vertices containing a distinguished
         vertex called the root, and edges connecting these
         vertices, can be defined recursively by these steps:
            BASIS STEP: A single vertex r is a rooted tree.
            RECURSIVE STEP: Suppose that T1, T2, …,Tn are disjoint rooted
              trees with roots r1, r2,…,rn, respectively. Then the graph
              formed by starting with a root r, which is not in any of the
              rooted trees T1, T2, …,Tn, and adding an edge from r to each
              of the vertices r1, r2,…,rn, is also a rooted tree.
© 2019 McGraw-Hill Education
                               Building Up Rooted Trees
           Trees are studied extensively in Chapter 11.
           Next we look at a special type of tree, the full binary tree.
                                       Jump to long description
© 2019 McGraw-Hill Education
                               Full Binary Trees      1
         Definition: The set of full binary trees can be
         defined recursively by these steps.
            BASIS STEP: There is a full binary tree consisting of
              only a single vertex r.
            RECURSIVE STEP: If T1 and T2 are disjoint full binary
              trees, there is a full binary tree, denoted by T1∙T2,
              consisting of a root r together with edges
              connecting the root to each of the roots of the left
              subtree T1 and the right subtree T2.
© 2019 McGraw-Hill Education
                           Building Up Full Binary Trees
                                      Jump to long description
© 2019 McGraw-Hill Education
 Induction and Recursively Defined Sets
         Example: Show that the set S defined by specifying that 3 ∊ S and
         that if x ∊ S and y ∊ S, then x + y is in S, is the set of all positive
         integers that are multiples of 3.
         Solution: Let A be the set of all positive integers divisible by 3. To
         prove that A = S, show that A is a subset of S and S is a subset of A.
            • A⊂ S: Let P(n) be the statement that 3n belongs to S.
                   BASIS STEP: 3∙1 = 3 ∊ S, by the first part of recursive definition.
                   INDUCTIVE STEP: Assume P(k) is true. By the second part of the recursive definition,
                   if 3k ∊ S, then since 3 ∊ S, 3k + 3 = 3(k + 1) ∊ S. Hence, P(k + 1) is true.
            • S ⊂ A:
                   BASIS STEP: 3 ∊ S by the first part of recursive definition, and 3 = 3∙1.
                   INDUCTIVE STEP: The second part of the recursive definition adds x +y to S, if both
                   x and y are in S. If x and y are both in A, then both x and y are divisible by 3. By part
                   (i) of Theorem 1 of Section 4.1, it follows that x + y is divisible by 3.
         We used mathematical induction to prove a result about a
         recursively defined set. Next we study a more direct form
         induction for proving results about recursively defined sets.
© 2019 McGraw-Hill Education
                               Structural Induction
         Definition: To prove a property of the elements of a
         recursively defined set, we use structural induction.
            BASIS STEP: Show that the result holds for all elements specified
              in the basis step of the recursive definition.
            RECURSIVE STEP: Show that if the statement is true for each of
              the elements used to construct new elements in the
              recursive step of the definition, the result holds for these
              new elements.
         The validity of structural induction can be shown to
         follow from the principle of mathematical induction.
© 2019 McGraw-Hill Education
                                       Full Binary Trees              2
         Definition: The height h(T) of a full binary tree T is defined
         recursively as follows:
            • BASIS STEP: The height of a full binary tree T consisting of only a root r is
              h(T) = 0.
            • RECURSIVE STEP: If T1 and T2 are full binary trees, then the full binary
              tree T = T1∙T2 has height
                    h (T ) = 1 + max ( h (T1 ) , h (T2 )) .
         The number of vertices n(T) of a full binary tree T satisfies the
         following recursive formula:
            • BASIS STEP: The number of vertices of a full binary tree T consisting of
              only a root r is n(T) = 1.
            • RECURSIVE STEP: If T1 and T2 are full binary trees, then the full binary
              tree T = T1∙T2 has the number of vertices
                    n (T ) = 1 + n (T1 ) + n (T2 ) .
© 2019 McGraw-Hill Education
      Structural Induction and Binary Trees
         Theorem: If T is a full binary tree, then ( )
                                                           h(T ) +1
                                                  n T   2          − 1.
         Proof: Use structural induction.
            • BASIS STEP: The result holds for a full binary tree consisting only of a
              root, n (T ) = 1 and h (T ) = 0. Hence, n (T ) = 1  20+1 − 1 = 1.
            • RECURSIVE STEP: Assume n (T1 )  2
                                                                                     h (T1 ) +1
                                                                                                  − 1 and also
                    n (T2 )  2h(T2 ) +1 − 1 whenever T1 and T2 are full binary trees.
                     n (T ) = 1 + n (T1 ) + n (T2 )                                 ( by recursive formula of n (T ))
                                      (                       ) (
                                1 + 2h(T1 ) +1 − 1 + 2h(T2 ) +1 − 1            )   ( by inductive hypothesis )
                                                 (
                                2  max 2h(T1 ) +1 , 2h(T2 ) +1 − 1        )
                               = 2 2
                                          max ( h (T1 ) , h(T2 ) +1)
                                                                       −1           ( max ( 2 , 2 ) = 2
                                                                                                   x   y   max ( x , y )
                                                                                                                           )
                               = 2  2 h( t ) − 1                                   ( by recursive definition of h (T ))
                               = 2h(t ) +1 − 1
© 2019 McGraw-Hill Education
                               Generalized Induction     1
         Generalized induction is used to prove results about
         sets other than the integers that have the well-ordering
         property. (explored in more detail in Chapter 9)
         For example, consider an ordering on N ⨉ N, ordered
         pairs of nonnegative integers. Specify that (x1 ,y1) is less
         than or equal to (x2,y2) if either x1 < x2, or x1 = x2 and
         y1 <y2 . This is called the lexicographic ordering.
         Strings are also commonly ordered by a lexicographic
         ordering.
         The next example uses generalized induction to prove a
         result about ordered pairs from N ⨉ N.
© 2019 McGraw-Hill Education
                                     Generalized Induction                           2
         Example: Suppose that am,n is defined for ( m, n)  N  N
         by a0,0 = 0 and   am −1,n + 1     if n = 0 and m  0
                      am,n =                                          .
                              am,n −1 + n      if n  0
           Show that am ,n = m + n ( n + 1) 2 is defined for all ( m, n)  N  N.
         Solution: Use generalized induction.
            BASIS STEP: a0,0 = 0 + 0.1 2         ( )
            INDUCTIVE STEP: Assume that am , n  = m  + n  n  + 1 2     (       )
              whenever(̍mʹ,nʹ) is less than (m,n) in the lexicographic ordering of
              N×N.
                     • If n = 0, by the inductive hypothesis we can conclude
                        am,n = am −1,n + 1 = m − 1 + n ( n + 1) 2 + 1 = m + n ( n + 1) 2.
                     • If n > 0, by the inductive hypothesis we can conclude
                               am,n = am −1,n + 1 = m + n ( n − 1) 2 + n = m + n ( n + 1) 2.
© 2019 McGraw-Hill Education
                         Recursive Algorithms
                                Section 5.4
© 2019 McGraw-Hill Education
                               Section Summary   4
         Recursive Algorithms
         Proving Recursive Algorithms Correct
         Recursion and Iteration (not yet included in
         overheads)
         Merge Sort
© 2019 McGraw-Hill Education
                               Recursive Algorithms
         Definition: An algorithm is called recursive if it
         solves a problem by reducing it to an instance of
         the same problem with smaller input.
         For the algorithm to terminate, the instance of
         the problem must eventually be reduced to
         some initial case for which the solution is known.
© 2019 McGraw-Hill Education
                         Recursive Factorial Algorithm
         Example: Give a recursive algorithm for
         computing n!, where n is a nonnegative integer.
         Solution: Use the recursive definition of the
         factorial function.
                   procedure factorial(n: nonnegative integer)
                   if n = 0 then return 1
                   else return n∙factorial (n − 1)
                   {output is n!}
© 2019 McGraw-Hill Education
         Recursive Exponentiation Algorithm
         Example: Give a recursive algorithm for
         computing an, where a is a nonzero real number
         and n is a nonnegative integer.
         Solution: Use the recursive definition of an.
                   procedure power(a: nonzero real number, n: nonnegative
                      integer)
                   if n = 0 then return 1
                   else return a∙ power (a, n − 1)
                   {output is an}
© 2019 McGraw-Hill Education
                               Recursive GCD Algorithm
         Example: Give a recursive algorithm for computing the
         greatest common divisor of two nonnegative integers a
         and b with a < b.
         Solution: Use the reduction
               gcd(a,b) = gcd(b mod a, a)
         and the condition gcd(0,b) = b when b > 0.
                   procedure gcd(a,b: nonnegative integers
                                   with a < b)
                   if a = 0 then return b
                   else return gcd (b mod a, a)
                   {output is gcd(a, b)}
© 2019 McGraw-Hill Education
            Recursive Modular Exponentiation
                       Algorithm
         Example: Devise a a recursive algorithm for computing
         bn mod m, where b, n, and m are integers with m ≥ 2,
         n ≥ 0, and 1≤ b ≤ m.
         Solution:
                               (see text for full explanation)
         procedure mpower(b,m,n: integers with b > 0 and m ≥ 2, n ≥ 0)
         if n = 0 then
               return 1
         else if n is even then
               return mpower(b,n/2,m)2 mod m
         else
               return (mpower(b,⌊n/2⌋,m)2 mod m∙ b mod m) mod m
         {output is bn mod m}
© 2019 McGraw-Hill Education
            Recursive Binary Search Algorithm
         Example: Construct a recursive version of a binary search
         algorithm.
         Solution: Assume we have a1,a2,…, an, an increasing sequence of
         integers. Initially i is 1 and j is n. We are searching for x.
                   procedure binary search(i, j, x : integers, 1≤ i ≤ j ≤n)
                   m := ⌊(i + j)/2⌋
                   if x = am then
                          return m
                   else if (x < am and i < m) then
                          return binary search(i,m−1,x)
                   else if (x > am and j >m) then
                          return binary search(m+1,j,x)
                   else return 0
                   {output is location of x in a1, a2,…,an if it appears, otherwise 0}
© 2019 McGraw-Hill Education
      Proving Recursive Algorithms Correct
         Both mathematical and str0ng induction are useful techniques to show that
         recursive algorithms always produce the correct output.
         Example: Prove that the algorithm for computing the powers of real numbers
         is correct.
                          procedure power(a: nonzero real number, n: nonnegative integer)
                          if n = 0 then return 1
                          else return a∙ power (a, n − 1)
                          {output is an}
           Solution: Use mathematical induction on the exponent n.
           BASIS STEP: a0 =1 for every nonzero real number a, and power(a,0) = 1.
           INDUCTIVE STEP: The inductive hypothesis is that power(a,k) = ak, for all a ≠0.
               Assuming the inductive hypothesis, the algorithm correctly computes ak+1,
               since
                               power ( a, k + 1) = a  power ( a, k ) = a  a k = a k +1.
© 2019 McGraw-Hill Education
                               Merge Sort      1
         Merge Sort works by iteratively splitting a list (with an
         even number of elements) into two sublists of equal
         length until each sublist has one element.
         Each sublist is represented by a balanced binary tree.
         At each step a pair of sublists is successively merged
         into a list with the elements in increasing order. The
         process ends when all the sublists have been merged.
         The succession of merged lists is represented by a
         binary tree.
© 2019 McGraw-Hill Education
                               Merge Sort                   2
         Example: Use merge sort to put the list
             8,2,4,6,9,7,10, 1, 5, 3
             into increasing order.
         Solution:
                                 Jump to long description
© 2019 McGraw-Hill Education
                               Recursive Merge Sort            1
         Example: Construct a recursive merge sort algorithm.
         Solution: Begin with the list of n elements L.
         procedure mergesort(L = a1, a2,…,an )
         if n > 1 then
              m := ⌊n/2⌋
              L1 := a1, a2,…,am
              L2 := am+1, am+2,…,an
              L := merge(mergesort(L1), mergesort(L2 ))
         {L is now sorted into elements in increasing order}
© 2019 McGraw-Hill Education
                               Recursive Merge Sort                   2
         Subroutine merge, which merges two sorted lists.
         procedure merge(L1, L2 :sorted lists)
         L := empty list
         while L1 and L2 are both nonempty
            remove smaller of first elements of L1 and L2 from its list;
                put at the right end of L
            if this removal makes one list empty
                then remove all elements from the other list and append them to L
         return L {L is the merged list with the elements in increasing order}
         Complexity of Merge: Two sorted lists with m elements
         and n elements can be merged into a sorted list using
         no more than m + n − 1 comparisons.
© 2019 McGraw-Hill Education
                                Merging Two Lists
         Example: Merge the two lists 2,3,5,6 and 1,4.
         Solution:
         TABLE 1 Merging the Two Sorted Lists 2, 3, 5, 6 and 1, 4.
                   First List    Second List   Merged List   Comparison
                    2356             14                         1<2
                    2356              4        1                2<4
                    356               4        12               3<4
                    56                4        123              4<5
                    56                         1234
                                               123456
© 2019 McGraw-Hill Education
                               Complexity of Merge Sort                   1
         Complexity of Merge Sort: The number of comparisons needed
         to merge a list with n elements is O(n log n).
         For simplicity, assume that n is a power of 2, say 2m.
         At the end of the splitting process, we have a binary tree with m
         levels, and 2m lists with one element at level m.
         The merging process begins at level m with the pairs of 2m lists
         with one element combined into 2m−1 lists of two elements. Each
         merger takes two one comparison.
         The procedure continues , at each level (k = m, m−1,
         m−1,…,3,2,1) 2k lists with 2m−k elements are merged into 2k−1
         lists, with 2m−k + 1 elements at level k−1.
            • We know (by the complexity of the merge subroutine) that each
              merger takes at most 2m − k + 2m − k − 1 = 2m − k +1 − 1 comparisons.
© 2019 McGraw-Hill Education
                                   Complexity of Merge Sort                2
         Summing over the number of comparisons at each level,
         shows that
                               (       )                        (    )
              m                                   m      m
             2
            k =1
                k −1
                     2 m − k +1
                                − 1 =  
                                       2 m
                                           − 2 k −1
                                                    =
                                                  k =1
                                                      m 2 m
                                                            −
                                                         k =1
                                                              2 m
                                                                  − 1 = n log n − n + 1,
         because m = log nmand n = 2m.
         (The expression 
                             k −1
                           2      in the formula above is
                                           k =1
         evaluated as 2m − 1 using the formula for the sum of the
         terms of a geometric progression, from Section 2.4.)
         In Chapter 11, we’ll see that the fastest comparison-based
         sorting algorithms have O(n log n) time complexity. So,
         merge sort achieves the best possible big-O estimate of
         time complexity.
© 2019 McGraw-Hill Education
              Appendix of Image Long
                  Descriptions
© 2019 McGraw-Hill Education
    Climbing an Infinite Ladder- Appendix
         There is a man climbing an infinite ladder, the steps of which are
         numbered with natural numbers from the bottom. The man can
         reach step k plus one if he can reach step k.
                                     Jump to the image
© 2019 McGraw-Hill Education
              Remembering How Mathematical
                Induction Works- Appendix
         There are dominoes numbered with natural numbers. The
         domino with number one falls on the domino with number two,
         and the domino with number two falls on the domino with
         number three, etc.
                                  Jump to the image
© 2019 McGraw-Hill Education
            Number of Subsets of a Finite Set -                           2
                       Appendix
         There is field S with circle X inside. S has two arrows. The first
         one is from S to field T that has circle X and element A inside, the
         second arrow is from S to field T that has a circle named X union
         left brace A right brace inside, which has element A inside.
                                      Jump to the image
© 2019 McGraw-Hill Education
                  Tiling Checkerboards - Appendix       1
         There are four checkerboards of the size 2 times 2 with one
         square removed each. The first checkerboard does not have the
         left bottom square. The second checkerboard does not have the
         right bottom square. The third checkerboard does not have the
         left top square, and the fourth one does not have the right top
         square. In each case, the remaining squares form right triomino.
                                    Jump to the image
© 2019 McGraw-Hill Education
                  Tiling Checkerboards - Appendix         2
         There are four squares forming together a large square. The right
         bottom square has a small shaded square inside.
         There are four squares forming together a large square, each
         one has small shaded square inside. In the left top square, the
         small square is in the bottom right corner. In the right top
         square, the small square is in the bottom left corner. In the left
         bottom square, the small square is in the top right corner. Thus,
         these three small squares form a right triomino.
                                      Jump to the image
© 2019 McGraw-Hill Education
       Building Up Rooted Trees - Appendix
         There are 3 steps of building up rooted trees shown. Basic step
         contains one vertex which is a root. The first step contains
         several vertices that are added to the next level. All these
         vertices are connected to the root. At the second step, the
         vertices of the previous level are the roots for the added vertices
         of the next level.
                                     Jump to the image
© 2019 McGraw-Hill Education
                        Building Up Full Binary Trees -
                                  Appendix
         There are three steps of building up full binary trees shown. The
         basic step contains one vertex on the first level which is the root.
         Each next level is located below the previous one. At the first
         step, two vertices are added to the next level. They are
         connected to the root forming the right and left branches. At the
         second step, the vertices of the second level are the roots for the
         added vertices of the third level. The right and the left branches
         can be formed in several ways: only from the left vertex, only
         from the right, or from both vertices.
                                      Jump to the image
© 2019 McGraw-Hill Education
                               Merge Sort - Appendix
                                                   2
         There is a binary balanced tree at the top. Its root consists of numbers 8, 2, 4,
         6, 9, 7, 10, 1, 5, and 3. At the first step, there are two branches, the left leads
         to the vertex containing elements 8, 2, 4, 6, and 9. The right one leads to the
         vertex containing elements 7, 10, 1, 5, and 3. Two branches lead from the
         vertex 8, 2, 4, 6, 9 . The left one leads to the vertex with the elements 8, 2, 4.
         The right one leads to the vertex with the elements 6 and 9. Two branches
         also lead from the vertex 7, 10, 1, 5, and 3. The left one leads to the vertex
         with the elements 7, 10, 1. The right one leads to the vertex with the
         elements 5 and 3. Each of the four vertices of the previous level has two
         branches leading to the vertices of the next level: from 8, 2, 4 to 8, 2 and 4,
         from 6, 9 to 6 and 9, from 7, 10, 1 to 7, 10 and 1, from 5, 3 to 5 and 3. At the
         next level there are branches from 8, 2 to 8 and 2, and from 7, 10 to 7 and 10.
         At the bottom of the picture there is a similar tree, but it is turned upside
         down. In such vertices where there is more than one element, elements are
         written in the increasing order from left to right.
                                            Jump to the image
© 2019 McGraw-Hill Education