Help with my big oh algorithm analaysis

  • Thread starter mycrafish
  • Start date
  • Tags
    Algorithm
In summary, the conversation discusses the complexity analysis of a code that utilizes nested for loops. The output is expected to be n^3 + n^2log2n - nlog2n, but the process of reaching this answer is not clear. The conversation suggests looking at the loops and identifying where the most steps are taken, with a hint that the worst case is O(n). The loops run at least n^2 times, but the specifics of the if statements and h loop are not certain.
  • #1
mycrafish
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if (i == j){
for(int k = 0; k < n*n; k++){
System.out.println();
}
}
else{
for(int h = 1; h <= n; h = h*2){
System.out.println();
}
}
}​
 
Physics news on Phys.org
  • #2
Any attempt at a solution? Where have you gotten so far? As a small hint, O(n) is the worst case, so look at those loops and think where the most steps can be taken.
 
  • #3
i know the answer is n3 + n2log2n - nlog2n but i have no idea how to get this far
I know the loops runs n^2 times at least but I am not sure how to do the if statements
 

FAQ: Help with my big oh algorithm analaysis

1. What is a Big O algorithm analysis?

A Big O algorithm analysis is a way to measure the efficiency of an algorithm by determining how it performs as the input size grows. It helps determine the worst-case scenario for time and space complexity of an algorithm.

2. Why is Big O algorithm analysis important?

Big O algorithm analysis is important because it allows us to compare different algorithms and choose the most efficient one for a given task. It also helps in predicting the performance of an algorithm as the input size increases, allowing for optimization and improvement.

3. How do I determine the Big O notation for an algorithm?

The Big O notation for an algorithm is determined by looking at the number of operations an algorithm performs in relation to the input size. The highest order term in the expression is used as the Big O notation, and any constant coefficients are dropped.

4. What is the difference between time complexity and space complexity in Big O algorithm analysis?

Time complexity refers to the amount of time an algorithm takes to run, while space complexity refers to the amount of memory an algorithm uses. Both are important factors to consider when analyzing the efficiency of an algorithm.

5. Are there any limitations to Big O algorithm analysis?

Yes, there are limitations to Big O algorithm analysis. It only considers the worst-case scenario and does not account for best-case or average-case scenarios. It also does not take into account the hardware or software environment in which the algorithm is running, which can affect its performance.

Similar threads

Replies
7
Views
2K
Replies
1
Views
1K
Replies
3
Views
1K
Replies
7
Views
2K
Replies
5
Views
2K
Replies
8
Views
2K
Replies
1
Views
1K
Back
Top