Algorithm 1 exp(a, n): compute a" for integer a and n ≥ 0 if n = 0 then return 1 end if x if n is even then return xxx exp(a, floor (n/2)) else return a x x × x end if (a) Write a recurrence relation for the number of operations performed when the input size is n (we assume that the size of a does not matter for the complexity of integer multiplication). (b) What is the complexity of the algorithm?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Would love some help with this!

Thank you so so much!

Appreciate it

Algorithm 1 exp(a, n): compute a" for integer a and n ≥ 0
if n = 0 then
return 1
end if
x
if n is even then
return x x x
exp(a, floor (n/2))
else
return a Χχχχχ
end if
(a) Write a recurrence relation for the number of operations performed when the
input size is n (we assume that the size of a does not matter for the complexity
of integer multiplication).
(b) What is the complexity of the algorithm?
Transcribed Image Text:Algorithm 1 exp(a, n): compute a" for integer a and n ≥ 0 if n = 0 then return 1 end if x if n is even then return x x x exp(a, floor (n/2)) else return a Χχχχχ end if (a) Write a recurrence relation for the number of operations performed when the input size is n (we assume that the size of a does not matter for the complexity of integer multiplication). (b) What is the complexity of the algorithm?
Expert Solution
Step 1: Explain the problem statement

A recursive is given in the problem statement and it is asked to 

  • create the recurrence relation for the given recursive function
  • Solve the recurrence relation to get the complexity

The function given is as follows:

public static int exp(int a, int n){
        if(n==0)
        return 1;

        int x = exp(a,(int)Math.floor(n/2));

        if(n % 2 == 0)
            return x * x;
        else
            return a * x * x;
    }
steps

Step by step

Solved in 4 steps

Blurred answer
Knowledge Booster
Single source shortest path
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education