| | | | | next -> |

Algorithm Complexity - Binary Search

    lower_bound
    {
      unsigned int   low  = 0;
      unsigned int   mid;
      unsigned int   hih = size;
      while (low < hih)
      {
        mid =  (low + hih) / 2;  
        if (v[mid] < t)          
          low = mid + 1;         
        else                     
          hih = mid;             
      }  
      return low;
    }
    
  • notion of input size: n = size of container
  • atomic computation: comparison
    (call to operator <())
  • f(n) = (1 compare) x (no. of iterations of loop body)
       = (1) x (log n)
       = Θ(log n)
  • algorithm complexity = Θ(log n)

| next -> | Top of Page | 3. Introduction to Algorithms: Verification, Complexity, and Searching - 23 of 23