1 / 31

6-9 Recursion

6-9 Recursion. In general, programmers use two approaches to writing repetitive algorithms. One approach uses loops; the other uses recursion. Recursion is a repetitive process in which a function calls itself. Topics discussed in this section:. Iterative and Recursive Definition

Download Presentation

6-9 Recursion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6-9 Recursion In general, programmers use two approaches to writing repetitive algorithms. One approach uses loops; the other uses recursion. Recursion is a repetitive process in which a function calls itself. Topics discussed in this section: Iterative and Recursive Definition Iterative and Recursive Solution Designing Recursive Functions Fibonacci Numbers Limitations of Recursion The Towers Of Hanoi Computer Science: A Structured Programming Approach Using C

  2. FORMULA6-1 Iterative Factorial Definition Computer Science: A Structured Programming Approach Using C

  3. FORMULA6-2 Recursive Factorial Definition Computer Science: A Structured Programming Approach Using C

  4. FIGURE 6-25 Factorial (3) Recursively Computer Science: A Structured Programming Approach Using C

  5. PROGRAM 6-24 Iterative Factorial Function Computer Science: A Structured Programming Approach Using C

  6. PROGRAM 6-25 Recursive Factorial Function Computer Science: A Structured Programming Approach Using C

  7. Note Every recursive call must either solve part of the problem or reduce the size of the problem. Computer Science: A Structured Programming Approach Using C

  8. FIGURE 6-26 Calling a Recursive Function Computer Science: A Structured Programming Approach Using C

  9. FIGURE 6-27 Fibonacci Numbers Computer Science: A Structured Programming Approach Using C

  10. PROGRAM 6-26 Recursive Fibonacci Computer Science: A Structured Programming Approach Using C

  11. PROGRAM 6-26 Recursive Fibonacci Computer Science: A Structured Programming Approach Using C

  12. PROGRAM 6-26 Recursive Fibonacci Computer Science: A Structured Programming Approach Using C

  13. Table 6-2 Fibonacci Run Time Computer Science: A Structured Programming Approach Using C

  14. FIGURE 6-28 Towers of Hanoi—Start Position Computer Science: A Structured Programming Approach Using C

  15. FIGURE 6-29 Towers Solution for Two Disks Computer Science: A Structured Programming Approach Using C

  16. FIGURE 6-30 Towers of Hanoi Solution for Three Disks (Part I) Computer Science: A Structured Programming Approach Using C

  17. FIGURE 6-30 Towers of Hanoi Solution for Three Disks (Part II) Computer Science: A Structured Programming Approach Using C

  18. PROGRAM 6-27 Towers of Hanoi Computer Science: A Structured Programming Approach Using C

  19. PROGRAM 6-27 Towers of Hanoi Computer Science: A Structured Programming Approach Using C

  20. Table 6-3 Tracing of Program 6-27, Towers of Hanoi Computer Science: A Structured Programming Approach Using C

  21. 6-10 Programming Example— The Calculator Program Let’s look at our calculator program one more time. In Chapter 5, we gave users the capability of selecting one of four options: add, subtract, multiply, or divide. However, if users needed to make two calculations, they had to run the program twice. We now add a loop that allows users to make as many calculations as needed. Computer Science: A Structured Programming Approach Using C

  22. PROGRAM 6-28 The Complete Calculator Computer Science: A Structured Programming Approach Using C

  23. PROGRAM 6-28 The Complete Calculator Computer Science: A Structured Programming Approach Using C

  24. PROGRAM 6-28 The Complete Calculator Computer Science: A Structured Programming Approach Using C

  25. PROGRAM 6-28 The Complete Calculator Computer Science: A Structured Programming Approach Using C

  26. PROGRAM 6-28 The Complete Calculator Computer Science: A Structured Programming Approach Using C

  27. 6-11 Software Engineering In this section, we discuss some software engineering issues related to loops. Topics discussed in this section: Loops in Structure Charts Determining Algorithm Efficiency Linear Loops Logarithmic Loops Nested Loops Big-O Notation Standard Measures of Efficiency Computer Science: A Structured Programming Approach Using C

  28. FIGURE 6-31 Structure Chart Symbols for Loops Computer Science: A Structured Programming Approach Using C

  29. FIGURE 6-32 Structure Chart for Process Computer Science: A Structured Programming Approach Using C

  30. Table 6-4 Analysis of Multiply / Divide Loops Computer Science: A Structured Programming Approach Using C

  31. Table 6-5 Measures of Efficiency Computer Science: A Structured Programming Approach Using C

More Related