Algorithm Analysis - Growth of Functions

AI Thread Summary
The discussion focuses on analyzing algorithm growth functions through two questions. For Question 1, the user identifies issues with variable increments, noting that certain expressions do not properly update values, leading to infinite loops. In Question 2, the user questions the relationship between functions, suggesting that while c1 * g may exceed f, the lower bounds could indicate otherwise. They also assert that if f is O(g), then g must be Ω(f), but express uncertainty about the proof required. The conversation highlights common misconceptions in algorithm analysis and the importance of understanding function growth relationships.
emeraldskye177
Messages
26
Reaction score
0
The problem statements, all variables and given/known data:

Question 1

upload_2017-3-22_3-1-31.png


Question 2
upload_2017-3-22_3-2-57.png


Relevant equations:
Provided in question snips.

The attempt at a solution:


Question 1: I think qux is the answer because it properly increments k by 1 in each iteration. j = j * 2 means j is always 0 so its loop never exits, and i = i++ doesn't actually increment i (as far as I know it should be i = ++i or just ++i or just i++) so i is always 0 and its loop never exits. But I'm not sure if this is the kind of answer they're looking for...

Question 2: I think (a) is no because, though c1 * g > f, the actual un-vertically-translated g could be less than f? Meaning its lower bound c2 * h < f, meaning h < f since c2 > 0. Am I correct on this?

(b) I think the answer is yes. Am I correct in saying, if f is O(g), then g is necessarily Ω(f)? But I'm not sure how to prove it as requested in the question...
 
Physics news on Phys.org
bump..
 
Back
Top