Kinetic hanger

A kinetic hanger satisfies the heap property (the priority of each element is higher than the priority of its children) but relaxes the requirement that the tree structure must be strictly balanced, thus insertions and deletions can be randomized.

The kinetic hanger structure (including certificates and event queue) is exactly the same as the kinetic heap structure, but without the balancing requirement.

Thus, it consists of an efficient priority queue (the event queue) to maintain the certificate failure times, as well as a main (not necessarily balanced) heap-like tree structure in which the elements are stored.

The characteristic operation in a kinetic hanger is "hanging", which is defined as follows (a distinction is made between a node in the tree structure and the element stored in it).

Hang(Node n, Element e) The main difference between the kinetic hanger and the kinetic heap is in the key operations, which are implemented as follows in a kinetic hanger: All these operations result in a uniformly random structure for the hanger, with an expected height of O(log n).