Beap


A beap, or bi-parental heap, is a data structure where a node usually has two parents and two children. Unlike a heap, a beap allows sublinear search. The beap was introduced by Ian Munro and Hendra Suwanda. A related data structure is the Young tableau.

Performance

The height of the structure is approximately. Also, assuming the last level is full, the number of elements on that level is also. In fact, because of these properties all basic operations run in time on average. Find operations in the heap can be in the worst case. Removal and insertion of new elements involves propagation of elements up or down in order to restore the beap invariant. An additional perk is that beap provides constant time access to the smallest element and time for the maximum element.
Actually, a find operation can be implemented if parent pointers at each node are maintained. You would start at the absolute bottom-most element of the top node and move either up or right to find the element of interest.