Paul Nicholls Stuff

20May/080

Combinatorics

Combinatorics is a branch of mathematics concerned with the study of finite objects, and has many applications in the field of Computer Science. Combinatorics is useful in problem solving, and is most often involves ideas such as counting elements in a set, or calculating permutations or combinations of elements in a set.

20May/080

Algorithms & Time Complexity

Rosen describes an algorithm as:

"An algorithm is a finite set of precise instructions for performing a computation or for solving a problem."

An algorithm can be expressed in a number of different ways however, it could be explained in plain English, written in a generic pseudocode (not a true programming language in itself, but a loose language system useful to describe algorithms in) or in a particular programming language.