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


The challenges of 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 science. The 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 tutorial material. Readers gain a 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, -based means of adding a programming component to any algorithms or software course

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

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

* 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, 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 -judge, contest-hosting website.

Table of Content

  • Getting started

  • Data structures

  • Strings

  • Sorting

  • Arithmetic and algebra

  • Combinatorics

  • Number theory

  • Backtracking

  • Graph traversal

  • Graph algorithms

  • Dynamic programming

  • Grids

  • Geometry

  • Computational geometry

  • Appendix

No Comments

  • Feedback: Leave your comments here!

    Your opinions and comments would be greatly appreciated.
    If you have comments or questions we've added this section so that we might have a dialogue with you.

Complete all fields

eighteen − 17 =