Binsearch not updating
The logarithm is an awfully slowly growing function.
In case you’re not aware of just how efficient binary search is, consider looking up a name in a phone book containing a million names.
The only difference is that we replace an array lookup with a function evaluation: we are now looking for some x such that f(x) is equal to the target value.
The search space is now more formally a subinterval of the domain of the function, while the target value is an element of the codomain.
The search space consists of candidate solutions to the problem.
In this article, a predicate is a function which returns a boolean value, true or false (we’ll also use yes and no as boolean values).
In its simplest form, binary search is used to quickly find a value in a sorted sequence (consider a sequence an ordinary array for now).
C ’s Standard Template Library implements binary search in algorithms lower_bound, upper_bound, binary_search and equal_range, depending exactly on what you need to do. You’re best off using library functions whenever possible, since, as you’ll see, implementing binary search on your own can be tricky. A sequence (array) is really just a function which associates integers (indices) with the corresponding values.A likely answer is a closed interval which surely contains the first x for which p(x) is true.