Abstract
In many computer science papers, the core contribution is a family of algorithms. These algorithms are often the product of months of work; the version that the researchers have decided to submit for publication is typically based on a great deal of discussion, brainstorming, prototyping, testing, analysis, and debate over details. Yet in many cases this effort is not reflected in the presentation. Not only are the steps of the algorithm often not made clear, but there is no discussion of why the reader should believe that the algorithm is correct, or believe that its behaviour is reasonable. An algorithm by itself is uninteresting; what is of value is an algorithm that has been shown to solve a problem.
Mostly gobbledygook ...
Eric Partridge, defining computation
Usage and Abusage
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
Terminology in the area of analysis is both precise and inconsistent. A common usage is to refer to a complexity analysis, and to describe algorithms as having a certain complexity. Some people regard such usage as sloppy, and instead use the terminology asymptotic cost, as determined by a cost analysis, a terminology I have broadly kept to here. However, other people also object to this usage, and argue for yet other wordings. It may be that my usage is not quite in keeping with that of some mathematical computer scientists, but it is at least reasonably unambiguous.
- 2.
The asymptotic cost of search in a binary tree of size \(n\) is usually given as \(O(\log n)\), but that assumes that the cost of comparing two keys is constant. If the keys are strings, the expected cost of a pairwise comparison is \(O(\log n)\), because, as the search narrows, the number of bits to be inspected in each string grows; and thus the overall cost might be \(O(\log ^2 n)\). On current machines, however, the string comparison cost is unlikely to be significant—presenting the question of what exactly should be considered in the analysis. Perhaps cache fetches rather than machine instructions are the operation of interest.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2014 Springer-Verlag London
About this chapter
Cite this chapter
Zobel, J. (2014). Algorithms. In: Writing for Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-6639-9_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-6639-9_10
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-6638-2
Online ISBN: 978-1-4471-6639-9
eBook Packages: Computer ScienceComputer Science (R0)