  Motivated by recent best case analyses for some sorting algorithms and based
on the type of complexity we partition the algorithms into two classes:
homogeneous and non homogeneous algorithms. Although both classes contain
algorithms with worst and best cases, homogeneous algorithms behave uniformly
on all instances. This partition clarifies in a completely mathematical way the
previously mentioned terms and reveals that in classifying an algorithm as
homogeneous or not best case analysis is equally important with worst case
analysis.

Data Structures and Algorithms;Computational Complexity