For an algorithm the most important is efficiency. There are two kinds: 1. Time efficiency, indicating how fast the algorithm runs, and 2. Space efficiency, indicating how much extra memory it uses. The efficiency of an algorithm is determined by measuring both time efficiency and space efficiency. So, factors to analyze an algorithm are: ➢ Time efficiency of an algorithm. ➢ Space efficiency of an algorithm. ➢ Simplicity of an algorithm. ➢ Generality of an algorithm.