Each alphabetic character has a numeric code representation. We can create
a numeric representation of the name by concatenating the the numeric
codes for each character. That still leaves us with 26**10 names but there
are many possible transformations on numbers which cut down the range of
1. Let N be the number of slots in the array or vector.
2. If we take the remainder of division of the number we get by concatenating
the numeric representations of the characters in the name
we will get a number in the range [0 to N].
But this definition of h leads may generate the same value for several different
names. There are many ways to deal with this non-uniqueness. We
will show one solution where each entry in the array or vector is
an instance of the object type List. If more than one key hashes
to the same entry in the array we enter it into the list at that entry
of the array. This solution will work well so long as the number of
keys hashed to a given entry is much smaller than the size of the array.