Converts data into a hash value.

Recursion where the final operation is the recursive call.

Uses little additional memory.

Occurs when different keys produce the same hash.

Describes a tight asymptotic growth bound.

Solving a problem by dividing it into smaller problems.

Preserves relative order of equivalent elements.

Technique for handling hash collisions.

Describes an asymptotic lower bound.

Makes the best immediate choice at each step.