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 (1901-0001)
Bookmark and Share
  Editor Recommended
 
 
General (D.1.0 )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy