Abstract
This Chapter presents a brief introduction to the study of algorithms, which are described from first-principles as formal sets of directions which describe how to perform a task. The goal is to demonstrate that algorithms are fundamental tools in Computer Science, but, on the other hand, no more complicated than a set of driving directions or cookery instructions.
A running example, namely the task of exponentiation (or powering) of one number by another, is used throughout; similar arithmetic is used within cryptographic schemes studied in later Chapters. By analysing how different algorithms for exponentiation behave, the Chapter shows we can compare them fairly against each other. Ultimately, this means we can select the most efficient algorithm for a given task.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Wikipedia: Algorithm. http://en.wikipedia.org/wiki/Algorithm
Wikipedia: Big-O notation. http://en.wikipedia.org/wiki/Big_O_notation
Wikipedia: Carmichael number. http://en.wikipedia.org/wiki/Carmichael_number
Wikipedia: Computational complexity theory. http://en.wikipedia.org/wiki/Computational_complexity_theory
Wikipedia: Coprime. http://en.wikipedia.org/wiki/Coprime
Wikipedia: Exponentiation by squaring. http://en.wikipedia.org/wiki/Exponentiation_by_squaring
Wikipedia: Fermat primality test. http://en.wikipedia.org/wiki/Fermat_primality_test
Wikipedia: Floor and ceiling functions. http://en.wikipedia.org/wiki/Floor_and_ceiling_functions
Wikipedia: Flow chart. http://en.wikipedia.org/wiki/Flowchart
Wikipedia: Horner’s scheme. http://en.wikipedia.org/wiki/Horner_scheme
Wikipedia: Pesudo-code. http://en.wikipedia.org/wiki/Pseudo_code
Wikipedia: Prime number. http://en.wikipedia.org/wiki/Prime_number
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Page, D., Smart, N. (2014). Writing and Comparing Algorithms. In: What Is Computer Science?. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-04042-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-04042-4_2
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04041-7
Online ISBN: 978-3-319-04042-4
eBook Packages: Computer ScienceComputer Science (R0)