We introduce an online version of the
multiselection problem, in which
q selection queries are requested on an unsorted array of
n elements. We provide the first online algorithm that is 1-competitive with the offline algorithm proposed by Kaligosi et al.
[14] in terms of comparison complexity. Our algorithm also supports online
search queries efficiently. We then extend our algorithm to the dynamic setting, while retaining online functionality, by supporting arbitrary
insertions and
deletions on the array. Assuming that the insertion of an element is immediately preceded by a search for that element, our dynamic online algorithm performs an optimal number of comparisons, up to lower order terms and an additive
class="mathmlsrc">class="formulatext stixSupport mathImg" data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S157086671500115X&_mathId=si1.gif&_user=111111111&_pii=S157086671500115X&_rdoc=1&_issn=15708667&md5=7af9468b153e432dbb8e24cb5ffe9f1f" title="Click to view the MathML source">O(n)class="mathContainer hidden">class="mathCode"> term.
For the external memory model, we describe the first online multiselection algorithm that is class="mathmlsrc">class="formulatext stixSupport mathImg" data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S157086671500115X&_mathId=si2.gif&_user=111111111&_pii=S157086671500115X&_rdoc=1&_issn=15708667&md5=857b68aff37d538a9ef47f52d439a19e" title="Click to view the MathML source">O(1)class="mathContainer hidden">class="mathCode">-competitive. This result improves upon the work of Sibeyn [20] when class="mathmlsrc">class="formulatext stixSupport mathImg" data-mathURL="/science?_ob=MathURL&_method=retrieve&_eid=1-s2.0-S157086671500115X&_mathId=si3.gif&_user=111111111&_pii=S157086671500115X&_rdoc=1&_issn=15708667&md5=621885b3e4d379c9785c37122c23cf58" title="Click to view the MathML source">q=ω(m1−ϵ)class="mathContainer hidden">class="mathCode"> for any fixed positive constant ϵ, where m is the number of blocks that can be stored in main memory. We also extend it to support searches, insertions, and deletions of elements efficiently.