Skip to main content

Algorithms

  • Chapter
  • First Online:
  • 14k Accesses

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 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. 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

Authors

Corresponding author

Correspondence to Justin Zobel .

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics