Question

For the following recursive function: Derive a recurrence relation, solve the relation, prove the solution is...

  1. For the following recursive function: Derive a recurrence relation, solve the relation, prove the solution is correct, and find its big-O notation.

String f2(String s, char c)

{

   if (s.length() == 0)      return s;

   if (s.charAt(0) == c)

        return f2(s.substring(1), c);

   else

        return s.charAt(0) + f2(s.substring(1), c);

}

0 0
Add a comment Improve this question Transcribed image text
Answer #1
recurrence relation:
-----------------------
T(n) = T(n-1) + O(1)
and T(1) = O(1)

solving equation:
------------------
T(n)
= T(n-1) + O(1)
= T(n-2) + O(1) + O(1)
= T(1) + O(1) + ... + O(1)
= O(1) + O(1) + ... + O(1)
= n*O(1)
= O(n)

Big-O:
-------
From above calculation. time complexity is O(n). where n is the length of the string s.

Add a comment
Know the answer?
Add Answer to:
For the following recursive function: Derive a recurrence relation, solve the relation, prove the solution is...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • For each of the following recursive methods available on the class handout, derive a worst-case recurrence...

    For each of the following recursive methods available on the class handout, derive a worst-case recurrence relation along with initial condition(s) and solve the relation to analyze the time complexity of the method. The time complexity must be given in a big-O notation. 1. digitSum(int n) - summing the digits of integer: int digitSum(int n) {                 if (n < 10)                                 return n;                 return (digitSum(n/10) + n%10); } 2. void reverseA(int l, int r) - reversing array: void...

  • Given the following code: public static void foo3(String s) { if (s.length() >0) { System.out.print(s.charAt(s.length() -1));...

    Given the following code: public static void foo3(String s) { if (s.length() >0) { System.out.print(s.charAt(s.length() -1)); foo3(s.substring(0, s.length() -1)); } } What is the output of: foo3(“”); 2, You coded the following in the file Test.java : System.out.println( foo(5)); //more code here public static int foo(int n) //line 9 { if (n = = 0)    return 1; else    System.out.println(n* foo(n-1) ); }                                    //line 15 At compile time, you get the following error: Text.java: 15: missing return statement }                                ...

  • (1) (1) (a) (14 pts.) Solve the following recurrence relation with the method of the charac-...

    (1) (1) (a) (14 pts.) Solve the following recurrence relation with the method of the charac- teristic equation: T(n) = 4T(n/2) + (n/2), for n > 1, n a power of 2 T(1) = 1 Determine the coefficients. (b) (1 PT.) What is the big O) order of the solution as a function of n? (c) (5 PTS.) Verify your solution by substituting back in the recurrence relation. (ii) (10 PTS.) Solve using the method of the characteristic equation to...

  • instructions These questions should test if you have understood the contents of Chapter 18 "Recursion". 1....

    instructions These questions should test if you have understood the contents of Chapter 18 "Recursion". 1. What will this method return if you call it this: xMethod (4) static int xMethod (int n) { if (n == 1) return 1; else return n + xMethod (n - 1); } 1. 10 2. 11 3. 12 4. 9 2. Analyze the following code: public class Test { public static void main (String [] args) { int [] x = {1, 2,...

  • Compute the recurrence relation, T(n), for the following function, solve it, and give a e bound....

    Compute the recurrence relation, T(n), for the following function, solve it, and give a e bound. Justify your answer public static double myPower(double r, int n) if (n1){ return 1 } else if (n % 2 == 0) { double tmp myPower (r, n/2); return tmp tmp; } else{ myPower (r, (n 1)/2); return }

  • c class ex in the 2pic Question 1: A. Write a recursive function Ecursive function that...

    c class ex in the 2pic Question 1: A. Write a recursive function Ecursive function that converts a string of digits into an integer. The function returns an integer that is converted from the original string 's'. int convertToint char *s); B. What's BIG-O notation of your function in part A. charx = "1234": Sở 3 : void printlnt (charts) if( *s == '() return; printf("%. Ch, ts): 7 printlnt (5+1): Ob..

  • The following algorithm (Rosen pg. 363) is a recursive version of linear search, which has access...

    The following algorithm (Rosen pg. 363) is a recursive version of linear search, which has access to a global list of distinct integers a_1, a_2,..., a_n. procedure search(i, j, x : i,j, x integers, 1 < i < j < n) if a_i = x then return i else if i = j then 4. return 0 else return search(i + 1, j, x) Prove that this algorithm correctly solves the searching problem when called with parameters i = 1...

  • Java class quiz need help~ This is the Backwards.java code. public class Backwards { /** *...

    Java class quiz need help~ This is the Backwards.java code. public class Backwards { /** * Program starts with this method. * * @param args A String to be printed backwards */ public static void main(String[] args) { if (args.length == 0) { System.out.println("ERROR: Enter a String on commandline."); } else { String word = args[0]; String backwards = iterativeBack(word); // A (return address) System.out.println("Iterative solution: " + backwards); backwards = recursiveBack(word); // B (return address) System.out.println("\n\nRecursive solution: " +...

  • 4. (35') Suppose we have the following recursive function in C++: a. (5') What is the...

    4. (35') Suppose we have the following recursive function in C++: a. (5') What is the returned value of fib(5)? b. (10') Suppose the time cost for fib(n) is T(n), write down the recurrence relation for T(n). C. (20') Rewrite this function in C++ which gives exactly the same output and make it of lower complexity. Analyze the time cost for your function in big-oh notation. int fib (int n) { if (n <= 0) return 0; if( n ==...

  • The task was to find the recurrence relation for this function and then find the complexity...

    The task was to find the recurrence relation for this function and then find the complexity class for it as well. Provided is my work and the function. My question is, I feel like I'm missing some step in the recurrence relation and complexity class. Is this correct? The following code is in JavaScript. function divideAndConquerSum(x){ if(x.length<1){ return 0; } if(x.length == 1){ return x[0]; } var third = Math.floor((x.length-1)/3); var next = (third *2)+1; var y = x.slice(0, third+1);...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT