Binary multisearch Description: Given a sorted list of unique items, find in another sorted list their position or if missing where they ought to be inserted. Both lists must allow random access. Complexity: n = number of elements in target list m = number of elements to locate Time complexity: O(S(n) + m) S = time complexity function of underlying search algorithm, e.g. S(n) = O(log n) in average case for binary search given O(1) comparison. Auxiliary space complexity: List return version: O(m) Online version: O(log m) Notes: In online version, positions for elements are returned in arbitrary (deterministic) order, rather than sequential. I wrote this algorithm back in February 2013.