Characteristics of algorithms