COVID-19 Response at

Read what we're doing...

Introduction to Recursive Programming


Product Description
Product Details

Table of Contents

Basic Concepts of Recursive Programming

Recognizing Recursion

Problem Decomposition

Recursive Code


Recursion Vs. Iteration

Types of Recursion


Methodology for Recursive Thinking Template for Designing Recursive Algorithms Size of The Problem Base Cases Problem Decomposition Recursive Cases, Induction, And Diagrams Testing Exercises Runtime Analysis of Recursive Algorithms Mathematical Preliminaries Computational Time Complexity Recurrence Relations Exercises Linear Recursion I Arithmetic Operations Digits, Bits, And Strings Additional Problems Exercises Linear Recursion II: Tail Recursion Searching Algorithms for Lists
Partitioning Schemes The Quickselect Algorithm Bisection AlgorithmfFor Root Finding The Woodcutter Problem Euclid's Algorithm Exercises Multiple Recursion I: Divide and Conquer Is A List Sorted in Ascending Order? Sorting Majority Element in A List Fast Integer Multiplication Matrix Multiplication The Tromino Tiling Problem The Skyline Problem Exercises Multiple Recursion II: Puzzles and Fractals Swamp Traversal Towers of Hanoi Longest Palindrome Substring Fractals EXERCISES Counting Problems Permutations Variations with Repetition Combinations Staircase Climbing Manhattan Paths
Convex Polygon Triangulations Circle Pyramids Exercises Mutual Recursion Parity of A Number Strategic Games Rabbit Population Growth Water Treatment Plants Puzzle Cyclic Towers of Hanoi Grammars and Recursive Descent Parsers Exercises Program Execution Control Flow Between Subroutines Recursion Trees The Program Stack Memoization and Dynamic Programming Exercises Tail Recursion Revisited and Nested Recursion Tail Recursion Vs. Iteration Tail Recursion by Thinking Iteratively Nested Recursion Tail and Nested Recursion Through Function Generalization Exercises Backtracking Introduction Generating Combinatorial Entities The N-Queens Problem Subset Sum Problem Path Through a Maze The Sudoku Puzzle Knapsack Problem Exercises

About the Author

Manuel Rubio-Sanchez received MS and PhD degrees in computer science from Universidad Politecnica de Madrid in 1997 and 2004, respectively. Since, he has had a faculty position at Universidad Rey Juan Carlos (Madrid, Spain), where he is currently an associate professor in the Superior Technical School of Computer Science. His teaching has focused on computer programming, ranging from introductory CS1 courses to more advanced courses on algorithms and data structures. He has published several research studies related to recursion in the computer science education conferences. His other research interests include machine learning, and exploratory data analysis and visualization. Finally, he has been a lecturer at St. Louis University (Madrid campus), and has carried out research visits at Universite de Cergy-Pontoise (Paris), and the University of California, San Diego. For more information on the author, please visit


Recursion is a fundamental topic in computer science, but one that is frequently taught in a fragmented way as part of an introductory course and then set aside for such electives as discrete programming and difference equations. Rubio-Sanchez (Universidad Rey Juan Carlos, Spain) believes that there are better ways to approach a concept so powerfully connected to computation. His book provides a comprehensive and approachable treatment of recursive programming. The text contains mathematical proofs, as well as clear methods that students can follow to derive new results and expand their knowledge in areas the book may not cover. Many of the fundamental problems that recursion can solve are presented and discussed; more advanced problems are addressed through decomposition and analysis. The book also contains a section on algorithm analysis, which helps form the basis for more advanced material on computational complexity. This book is useful as a textbook for introductory programming courses when an instructor adopts a more fundamental approach than imperative programming, but it can also serve as a useful reference for those who wish to explore recursive programming on their own, or for algorithm designers in the industry. --L. Benedicenti, University of New Brunswick (CHOICE)

Ask a Question About this Product More...
Write your question below:
Look for similar items by category
People also searched for
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 8% commission by selling Introduction to Recursive Programming on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Item ships from and is sold by Fishpond World Ltd.
Back to top