Optimal worst-case operations for implicit cache-oblivious search trees