Bookbot

Daniel Zingaro

    Learn to Code by Solving Problems
    Algorithmic Thinking
    • This hands-on, problem-based introduction focuses on building algorithms and data structures for solving computer problems. Programming involves using a computer to tackle challenges, with algorithms serving as the sequences of steps to find solutions. Unlike many texts that present algorithms in isolation, this approach integrates explanations, examples, and arguments to connect learning with practical application, avoiding formal mathematics that can hinder understanding. Readers learn to select appropriate algorithms and data structures by engaging with real-world problems from international programming competitions, such as determining the uniqueness of snowflakes, optimizing game strategies, and navigating efficiently. The book covers complex topics like recursion, dynamic programming, graphs, greedy algorithms, heaps, hash tables, and segment trees, all essential for effective data handling. Code is provided in C, the standard language for competitions, with thorough explanations throughout. Additionally, the author demonstrates how various problems can be translated into graph algorithms. By the conclusion, readers will grasp the significance of modeling, the importance of methodical problem-solving, and the advantages of organizing data with suitable structures.

      Algorithmic Thinking
    • Learn to Code by Solving Problems

      • 336pages
      • 12 heures de lecture
      2,7(3)Évaluer

      "Teaches readers how to use Python to solve short, situational competitive programming problems. Each chapter requires the reader to learn a new feature or function of Python in order to solve a problem, while emphasizing basic programming concepts, problem-solving strategies, and critical thinking skills"-- Provided by publisher

      Learn to Code by Solving Problems