Data Structures Java CS203 Internal Structure of a Tree and Heap