# Algorithm Analysis And Design

Any Algorithm must satisfy the following criteria (or Properties)

1. Input: It generally requires finite number of inputs.
2. Output: It must produce at least one output.
3. Uniqueness: Each instruction should be clear and unambiguous.
4. Finiteness: It must terminate after a finite number of steps.