0

We have the big O notations for sequential algorithms , but is there a notation to represent parallel algorithms in a similar way?

Motivation:

A sequential algorithm may be O(n7) but its parallel implementation might make it O(1) so what is the motivation and tradeoff between spending time to design lower complexity algorithms then simply paralyzing it to achieve an even better performance? How this fact could be incorporated in the complexity theory notations?

Note:

Writing a parallel version is also a challenge but many times its a low hanging fruit which can be quickly solved without much creativity.

Raphael
  • 72,336
  • 29
  • 179
  • 389
CS101
  • 109
  • 3

1 Answers1

1

Parallel complexity uses the same Landau notation but a different machine model, usually the PRAM which allows polynomially many processors (in the input size). This gives rise to complexity classes like NC.

If you are into algorithms outside of massively-parallel settings, this is all quite useless: the existence of PRAM algorithms does not tell you anything about algorithms on "real" computers, i.e. such with finitely many processors.

Raphael
  • 72,336
  • 29
  • 179
  • 389