number using linear recursion the algorithm given in code fragment shows that using linear recursion to compute fibonacci numbers is much more efficient than using binary recursion since each recursive call to linearfibonacci decreases the argument by the original call linearfibonacci(kresults in series of additional calls that iscomputing the kth fibonacci number via linear recursion requires method calls this performance is significantly faster than the exponential time needed by the algorithm based on binary recursionwhich was given in code fragment thereforewhen using binary recursionwe should first try to fully partition the problem in two (as we did for summing the elements of an arrayorwe should be sure that overlapping recursive calls are really necessary usuallywe can eliminate overlapping recursive calls by using more memory to keep track of previous values in factthis approach is central part of technique called dynamic programmingwhich is related to recursion and is discussed in section multiple recursion generalizing from binary recursionwe use multiple recursion when method may make multiple recursive callswith that number potentially being more than two one of the most common applications of this type of recursion is used when we wish to enumerate various configurations in order to solve combinatorial puzzle for examplethe following are all instances of summation puzzlespot pan bib dog cat pig boy girl baby