For a binary search, the best-case occurs when the target item is in the beginning of the search list. In other cases N/2 x where x is such that 2 x < N Minimum value of x can be 1, which is the best case. For a binary search, the best-case occurs when the target is at the end of the search list. Complexity. The best case of binary search is when the first comparison/guess is correct(the key item is equal to the mid of array). The number of operations in the best case is constant (not dependent on n). So time complexity in the best case would be Θ(1) Most of the times, we do worst case analysis to analyze algorithms. Searching: For searching element 1, we have to traverse all elements (in order 3, 2, 1). Binary Search with complexity O(log n) Search using HASH value with complexity O(1) Linear Search with complexity O(n): Here for a given element, say a[i], we have to traverse the entire data structure till we find the element, so in the worst case we have to traverse till end of the DS and hence the order/complexity of linear search is O(n) You could get lucky and the element you want is in the middle of the list. So there must be some type of behavior that algorithm is showing to be given a complexity of log n. Let us see how it works. Take a binary search for example. The best case scenario for this search is that the target value is at the very center of the data you're searching. The time complexity of the binary search algorithm belongs to the O(log n) class. In general, time complexity is O(h) where h is height of BST. This is called big O notation. In the linear search problem, the best case occurs when x is present at the first location. Best case is O(1). One place where you might have heard about O(log n) time complexity the first time is Binary search algorithm. You could get lucky and the element you want is in the middle of the list. ; Insertion: For inserting element 0, it must be inserted as left child of 1. Therefore, searching in binary search tree has worst case complexity of O(n). For a binary search, the worst-case is when the target item is not in the search list. Worst case is O(log2(n)) as the number of times you can divide the list up in 2 is the maximum times you'll have to compare elements in a binary search.