This is an old revision of the document!


Section 2.1: Computational Tractability

This section tries to formulate a definition for efficiency. It outlines that we cannot simply define efficiency as speed, because even bad algorithms run quickly on fast computers or when they are run with only small test cases. When looking at efficiency we look at the worst-case scenario as best-case is not particularly realistic and average-case analysis does not really help us look at how the algorithm works and instead looks at how the input is generated. If we were to attempt to work through a problem using just “brute-force” we would end up with insanely poor run times. The section also discussed polynomial run times which means that as the input size of an algorithm increases by a constant factor, the run time will also slow by a constant factor. When we define efficiency using polynomial run times, we create a definition that is negatable. This way we are able to say that there is not an efficient algorithm for a problem.

courses/cs211/winter2014/journals/shannon/section21.1389748747.txt.gz · Last modified: 2014/01/15 01:19 by nollets
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0