Pure Java implementations of various heap data structures