UMBC CMSC 201 Fall '05 CSEE | 201 | 201 F'05 | lectures | news | help Search Notes:

# Algorithms

The mathematical end of CS is very concerned with algorithms for solving problems, not specific programs.

#### What is an algorithm?

• Informally -- a general method for solving a problem.
• According to Webster...

al.go.rithm \'al-g*-.rith-*m\ n [alter. of ME algorisme, fr. OF & ML; OF, fr. ML algorismus, fr. Ar] al-khuwa-rizmi, fr. al-Khuwa-rizmi fl 825 A.D. Arab mathematician] a rule of procedure for solving a mathematical problem (as of finding the greatest common divisor) that frequently involves repetition of an operation.

#### In CS we require an algorithm to be

• Well defined -- it is clearly and unambiguously specified.
• Effective -- its steps are executable.
• Finite -- it terminates after a bounded number of steps.

#### Algorithms can be studied in the abstract

• e.g., it is not possible to sort a list of N numbers in fewer than than N*log(N) basic steps where a basic step is comparing two numbers in the list.

CSEE | 201 | 201 F'05 | lectures | news | help