Time complexity of binary search for an unsorted array
Binary Search is for "Sorted" lists. The complexity is O(logn).
Binary Search does not work for "un-Sorted" lists. For these lists just do a straight search starting from the first element; this gives a complexity of O(n). If you were to sort the array with MergeSort or any other O(nlogn) algorithm then the complexity would be O(nlogn).
O(logn) < O(n) < O(nlogn)
The answer to your question is in your question itself.
You are first sorting the list. If you sort your list using quick or merge sort, the complexity becomes o(n*log n)
. Part - 1 gets over.
Second part of performing a binary search is done on the 'Sorted list'. The complexity of binary search is o(log n)
. Therefore ultimately the complexity of the program remains o(n*log n)
.
However, if you wish to calculate the median of the array, you don't have to sort the list. A simple application of a linear, or sequential, search can help you with that.