The binary heap is a data structure, in which the keys are store in an array such that each key is guaranteed to be larger than (or equal to) the keys at two other specific positions. In turn, each of those keys must be larger than (or equal to) two additional keys, and so forth. This ordering is easy to see if we view the keys as being in a binary tree structure with edges from each key to the two keys known to be smaller.
Sorting plays a major role in commercial data processing and in modern scientific computing. Here, we consider several classical sorting methods.
Memory usage is well-defined for Java on your computer that every value requires precisely the same amount of memory each time that you run your program. But Java is implemented on a very wide range of computational devices, and memory consumption is implementation-dependent. So, following is some *typical* values that subject to machine dependencies.
Relations among different classes might be clear for me, however, the way using unified modeling language (UML) to represent it is something new to me. A note on this topic is worth taking to make it on my dictionary. Taken from Core Java Volume I (11th edition) - Cay S. Horstmann.