deterministic: Pertaining to a program that does the same thing each time it runs, given the same inputs.
pseudorandom: Pertaining to a sequence of numbers that appear to be random, but are generated by a deterministic program.
default value: The value given to an optional parameter if no argument is provided.
override: To replace a default value with an argument.
benchmarking: The process of choosing between data structures by implementing alternatives and testing them on a sample of the possible inputs.