Characteristics of Algorithms