Part A: The Fixed Point Problem is: Given a sorted array of distinct elements A[1...n), determine whether there exists some i such that A[i] = i. Consider the following recursive algorithm (and assume that the function returns nothing if the array A is empty): function f(A[1...n]): m = []; if A[m] = m return m; if A[m] > m return f(A[1...m-1]); if A[m] m so the algorithm always misses half the list. O Yes. If A[m]>m, then it is impossible to have A[i] = i for any i 2 m (and the same for the other case). O No. It is impossible for A[m]

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 7SA
icon
Related questions
Question
100%

Hello. Please answer the attached Algorithms question and its two parts correctly and completely.

*If you answer the questions correctly and completely, I will give you a thumbs up. Thanks.

Part A: The Fixed Point Problem is: Given a sorted array of distinct elements A[1 ….. n), determine whether there exists some į such that A[i] = i. Consider the following recursive algorithm (and
assume that the function returns nothing if the array A is empty):
function f(A[1...n]): m = []; if A[m] = m return m; if A[m] > m return f(A[1...m-1]); if A[m] <m return f(A[m +1...n]);
Does this algorithm work? If so, why? If not, why not?
O No. There is no base case.
O No. It is impossible for A[m] > m so the algorithm always misses half the list.
O Yes. If A[m] > m, then it is impossible to have A[i] = for any i > m (and the same for the other case).
O No. It is impossible for A[m] < m so the algorithm always misses half the list.
Part B: Independent of whether it produces the correct answer, what is the running time of the Fixed Point algorithm in terms of n?
○ 0 (√n)
○ O(n)
(n log n)
○ (log n)
* Please answer both parts correctly, and I will provide a thumbs up. Thanks.
Transcribed Image Text:Part A: The Fixed Point Problem is: Given a sorted array of distinct elements A[1 ….. n), determine whether there exists some į such that A[i] = i. Consider the following recursive algorithm (and assume that the function returns nothing if the array A is empty): function f(A[1...n]): m = []; if A[m] = m return m; if A[m] > m return f(A[1...m-1]); if A[m] <m return f(A[m +1...n]); Does this algorithm work? If so, why? If not, why not? O No. There is no base case. O No. It is impossible for A[m] > m so the algorithm always misses half the list. O Yes. If A[m] > m, then it is impossible to have A[i] = for any i > m (and the same for the other case). O No. It is impossible for A[m] < m so the algorithm always misses half the list. Part B: Independent of whether it produces the correct answer, what is the running time of the Fixed Point algorithm in terms of n? ○ 0 (√n) ○ O(n) (n log n) ○ (log n) * Please answer both parts correctly, and I will provide a thumbs up. Thanks.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Randomized Select Algorithm
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning