title: How do I find the time complexity (Big O) of this block of code?
body: <p>I am trying to understand how this O notation works and I have below here a block of code, and next to each LINE I will have a comment with the time complexity that I believe it to be. If I am wrong please correct me and explain why my logic is not correct.</p>
  
  <p>Code #1</p>
  
  <pre><code>for (int i = 0; i &lt; n; i++) &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; O(1)*O(N)
   {
      for (int j = 0; j &lt; 3; j++) &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; O(1)*O(1)
        {
          for (int k = 0; k &lt; 3; k++) &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)*O(1)
            {
              printf("%d", arr[i]); &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
             }
          printf("\n"); &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
      }
  
  }
  </code></pre>
  
  <p>Running time = O(N), after adding everything up.</p>
  
  <p>Code #2</p>
  
  <pre><code>for (int i = 2; i &lt;= n; i++) &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)*O(N)
  {
          int j;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
          printf("\n%d:", i);&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
          for(j = 2; j &lt;= i; j = j * 2) &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(n-2)??????????
          {
              printf("%d ", j);&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
          }
           printf("\n%d:", i);&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;O(1)
           for(int k = j/2; k &gt;= 2; k = k / 2)&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;I am not sure of this one
          {
               printf("%d ", k);
          }
    }
  </code></pre>
  
  <p>Running time: Unsure..</p>
  
  <p>Overall, I KINDA get the idea of it, but still not fully sure of how to use it in some situations. Does anyone else also have a guide or some sort that gives examples and explanations of the time complexity of for loops and while loops?</p>