Heap Tree Data Structure