Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Guide to competitive programming : learning and improving algorithms through contests
Laaksonen A., Springer International Publishing, New York, NY, 2017. 283 pp.  Type: Book (978-3-319725-46-8)
Date Reviewed: Oct 30 2018

Competitive programming is not new, but is now widely available through different online competitions. As Laaksonen notes, competitive programming provides opportunities for practice and helps to bridge the gap between theory and practice by forcing programmers to invent new algorithms, or apply known ones, to specific problems. In many cases, the authors of problem statements do not know an optimal solution. This aligns to the experience of developers and engineers in industry, where problems are not clear-cut and often do not suggest the application of a particular algorithm or solution.

The book begins with an introduction to competitive programming in general and basic programming techniques that are useful across a range of problems. The book focuses on the C++ language, which translates well to other C-style languages like Java and C#, but may be challenging for readers who are used to working in high-level languages like Python. The subsequent chapters discuss efficiency, sorting and searching, and data structures. The information presented in these chapters is not advanced, but it would not be helpful to readers with no prior exposure to these topics or at least access to another more detailed treatment of this information.

The remainder of the book works through different topics in both existing algorithms and techniques for combining approaches and designing algorithms to solve more intractable problems. The topics include dynamic programming, graph algorithms, tree algorithms, geometric techniques, and applications of mathematics and algorithm design techniques.

In general, the chapters are more or less standalone. That makes this small volume a helpful reference for additional information or review of known algorithms and programming techniques. Given its practical intent, as well as the breadth of examples and references offered, this is a useful book for any practicing software engineer or developer. It would also be helpful as a supplementary text in an undergraduate programming or algorithms course.

More reviews about this item: Amazon

Reviewer:  Nathan Carlson Review #: CR146299
Bookmark and Share
  Editor Recommended
 
 
General (D.1.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Nim in action
Picheta D.,  Manning Publications Co., Shelter Island, NY, 2017. 320 pp. Type: Book (978-1-617293-43-6)
Jul 16 2018
Coding literacy: how computer programming is changing writing
Vee A.,  The MIT Press, Cambridge, MA, 2017. 376 pp. Type: Book (978-0-262036-24-5)
Jul 9 2018
Processing: an introduction to programming
Nyhoff J., Nyhoff L.,  Chapman & Hall/CRC, Boca Raton, FL, 2017. 576 pp. Type: Book (978-1-482255-95-9)
Feb 28 2018
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright © 2000-2018 ThinkLoud, Inc.
Terms of Use
| Privacy Policy