Characteristics of an Algorithm