I am trying to calculate the Big-Oh for this code, which is for performing a binary search on a linked list:
public int search( List<T> list, T target ) {
int low = 0;
int high = list.size() - 1;
int middle;
while ( low <= high ) { // frequency << log( n )
middle = ( low + high ) / 2;
int cmp = target.compareTo( list.get( middle ) ); // time << n
if ( cmp < 0 ) high = middle - 1;
else if ( cmp > 0 ) low = middle + 1;
else return middle;
} // time << n log( n )
return -1;
} // time << n log( n )
I get O(n log(n)) as the answer. Is this a correct way of calculating this search method for this type of list?