So for example I have this sorted array of
x amount of Key, Value pairs(tuples). I have a method called
range which takes 2 arguments, the first is the first key to find and the second is the last key to find. This function returns all of the keys between the two. So
range uses binary search to find the first element and once it does, it uses linear search to go until the last key has been found. I thought this entire thing would have a runtime of O(log(n)) but now I am second guessing myself as it takes longer to execute than I’d like. So my question is what would be the runtime of this function since I seem to be mistaken?
worst-case complexity – [O(log(n))+O(n) = O(n)]
just think of a case where first key is index-1 and second one is index-n in worst case scenario.
hope it can help you.