Let k=(logN)1/2. Note that k≪N.
Let us evaluate the total asymptotic time complexity for each candidate data structure:
Unsorted array:
Insert: Insert at the end takes O(1) time ⟹N×O(1)=O(N).
Delete (with given pointer): Swap with the last element and decrement size in O(1) time ⟹k×O(1)=O(k).
Decrease-key (with given pointer): Update key in-place in O(1) time ⟹k×O(1)=O(k).
Find: Linear scan of array takes O(N) time ⟹k×O(N)=O(N(logN)1/2).
Total time: O(N+k+k+N(logN)1/2)=O(N(logN)1/2).
Min-heap:
Insert: O(logN)⟹NlogN.
Delete / Decrease-key: O(logN)⟹klogN.
Find: O(N)⟹kN.
Total time: O(NlogN). Since NlogN>N(logN)1/2, this is asymptotically slower.
Sorted array / Sorted doubly linked list:
Insert: Takes O(N) time per insertion ⟹N×O(N)=O(N2), which is much worse.
Therefore, the Unsorted array gives the minimum total asymptotic time complexity [p. 21, Q. 60].