254,105 views
45 votes
45 votes
Suppose you are choosing between the following three algorithms:

• Algorithm A solves problems by dividing them into five subproblems of half the size, recursively solving each subproblem, and then combining the solutions in linear time.
• Algorithm B solves problems of size n by recursively solving two subproblems of size n − 1 and then combining the solutions in constant time.
• Algorithm C solves problems of size n by dividing them into nine sub-problems of size n=3, recursively solving each sub-problem, and then combining the solutions in O(n2) time.
What are the running times of each of these algorithms (in big-O notation), and which would you choose?

User Lorand Bendig
by
2.3k points

1 Answer

13 votes
13 votes

Answer:

Algorithm C is chosen

Step-by-step explanation:

For Algorithm A

T(n) = 5 * T ( n/2 ) + 0(n)

where : a = 5 , b = 2 , ∝ = 1

attached below is the remaining part of the solution

Suppose you are choosing between the following three algorithms: • Algorithm A solves-example-1
User NitZRobotKoder
by
3.2k points