**O(log n)** is a time complexity notation which says that algorithm reduces search space by half on each iteration. Each division is considered as step, where each step takes constant about on time. `Total execution time = step amount * constant execution time` Even though the data set grows significantly, the execution time increases slower than with linear time complexity. ![[logarithmic.png]] **Constraints:** - Dataset must be sorted - Each element of dataset must be randomly accessible (i.e. you can jump directly to the element at any given position, without iteration) ### See also 1. [[Linear Time Complexity - O(n)]] ### Reference 1.