ECM 1414 Introduction to Algorithms Flashcards
[Sedgewick 2011]
The term algorithm is used in computer science to describe methods for solving problems that are suited for computer implementation.
[Aho, Hopcroft & Ulman 1975]
An algorithm is a finite sequence of instructions, each of which has a clear meaning and can be performed with a finite amount of effort in a finite length of time
[Wikipedia]
An algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function.
[Levitin 2003]
An algorithm is a finite sequence of unambiguous instructions for solving a problem, i.e., for obtaining the required output for any legitimate input in a finite amount of time.
Some try to classify algorithms according to the problem-solving approach they use:
- Iterative Algorithms
- Direct/Indirect Recursive Algorithms
- Divide-and-conquer Algorithms
- Dynamic Programming Algorithms
- Randomised Algorithms
- Brute-Force Algorithms
3 simple algorithms
Consecutive Integer Checking
GCD
Middle school procedure
The need to study algorithms
- Computer programs would not exist without algorithms. So even if you’re not a computer science student, you’d benefit from the study of algorithms given the ubiquity of computer programs.
- Development of your analytical skills. Algorithms are special kind of solutions to problems: they are not answers but well-defined steps for getting answers