Consider a binary tree whose nodes are drawn in a tree fashion. Now start numbering the nodes from top to bottom and left to right. A complete tree has these properties:
If n has children then all nodes numbered less than n have two children.
If n has one child it must be the left child and all nodes less than n have two children. In addition no node numbered greater than n has children.
If n has no children then no node numbered greater than n has children.
A complete binary tree can be used to represent a heap. It can be easily represented in contiguous memory with no gaps (i.e. all array elements are used save for any space that may exist at the end).