Chapter 1 Introduction 1.1 Algorithms and problems An algorithm is a well-defined computational procedure to solve a computational problem (or problem for short). An algorithm must be correct. A good algorithm must be readable, time-efficient, space- efficient.