Question: Design a data structure to support the following two operations for a dynamic multiset S of integers, which allows duplicate values: INSERT (S, x) inserts
Design a data structure to support the following two operations for a dynamic multiset S of integers, which allows duplicate values:
INSERT (S, x) inserts x into S.
DELETE-LARGER-HALF(S) deletes the largest ⌈|S|/2⌉ elements from S.
Explain how to implement this data structure so that any sequence of m INSERT and DELETE-LARGER-HALF operations runs in O(m) time. Your implementation should also include a way to output the elements of S in O(|S|) time.
Step by Step Solution
3.33 Rating (159 Votes )
There are 3 Steps involved in it
Well store all our elements in an array and if ever it is too large we will copy all the e... View full answer
Get step-by-step solutions from verified subject matter experts
