Programming Challenges – Steven S. Skiena, Miguel A. Revilla – 1st Edition


The challenges of problems from international programming competitions are an effective way to improve your algorithmic and coding skills and understanding.

This volume uses international programming competition-type problems to motivate the study of algorithms, programming, and other topics in computer science. The book includes more than 100 programming challenges, as well as the theory and key concepts necessary for approaching them. Problems are organized by topic, and supplemented by complete tutorial material. Readers gain a concrete understanding of both algorithmic techniques and advanced coding topics.

Unique Features:

* Offers a wealth of rich programming problems suitable for self-study — all with on-line judging at

* Presents practice training for all major programming contests — ACM International Collegiate Programming Contest (ACM ICPC), International Olympiad in Informatics (IOI), and Topcoder Challenge

* Serves as a convenient, web-based means of adding a programming component to any or software engineering course

* Contains complete working code for fundamental data and graph, string, numerical and geometric

* Provides a brief-yet-thorough treatment of key elements in number theory, geometry, dynamic programming, and graph

* Supports all popular programming languages (C, C++, Pascal, Java)

Steven S. Skiena is a member of the faculty of computer science at SUNY Stony Brook and is author of many widely used books, including The Algorithm Design Manual. He received the 2001 IEEE Computer Society Undergraduate Teaching Award.

Miguel Revilla is a member of the faculty of computer science at the University of Valladolid, Spain. He is official website archivist of the ACM ICPC and creator/maintainer of the primary robot-judge, contest-hosting website.

View more

    • Getting started

    • Data structures

    • Strings

    • Sorting

    • Arithmetic and algebra

    • Combinatorics

    • Number theory

    • Backtracking

    • Graph traversal

    • Graph algorithms

    • Dynamic programming

    • Grids

    • Geometry

    • Computational geometry

    • Appendix

  • Citation

Leave us a commentNo Comments

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x