Guide to Competitive Programming: Learning and Improving Algorithms Through Contests, 2/e (Paperback)

Laaksonen, Antti

  • 出版商: Springer
  • 出版日期: 2020-05-09
  • 售價: $1,980
  • 貴賓價: 9.5$1,881
  • 語言: 英文
  • 頁數: 309
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 3030393569
  • ISBN-13: 9783030393564
  • 相關分類: Algorithms-data-structures
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Building on what already is the most comprehensive introduction to competitive programming, this enhanced new textbook features new material on advanced topics, such as calculating Fourier transforms, finding minimum cost flows in graphs, and using automata in string problems. Critically, the text accessibly describes and shows how competitive programming is a proven method of implementing and testing algorithms, as well as developing computational thinking and improving both programming and debugging skills.

Topics and features: introduces dynamic programming and other fundamental algorithm design techniques, and investigates a wide selection of graph algorithms; compatible with the IOI Syllabus, yet also covering more advanced topics, such as maximum flows, Nim theory, and suffix structures; surveys specialized algorithms for trees, and discusses the mathematical topics that are relevant in competitive programming; reviews the features of the C++ programming language, and describes how to create efficient algorithms that can quickly process large data sets; discusses sorting algorithms and binary search, and examines a selection of data structures of the C++ standard library; covers such advanced algorithm design topics as bit-parallelism and amortized analysis, and presents a focus on efficiently processing array range queries; describes a selection of more advanced topics, including square-root algorithms and dynamic programming optimization.

 

 

 

 

 

 

 

 

Fully updated, expanded and easy to follow, this core textbook/guide is an ideal reference for all students needing to learn algorithms and to practice for programming contests. Knowledge of programming basics is assumed, but previous background in algorithm design or programming contests is not necessary. With its breadth of topics, examples and references, the book is eminently suitable for both beginners and more experienced readers alike.

 

 

 

商品描述(中文翻譯)

在已經是最全面的競賽程式設計入門教材的基礎上,這本增強版新教科書新增了關於高級主題的內容,例如計算傅立葉轉換、在圖中找到最小成本流、以及在字串問題中使用自動機。重要的是,本書以易於理解的方式描述並展示了競賽程式設計是一種實現和測試演算法、發展計算思維以及提高程式設計和除錯技能的有效方法。

本書的主題和特點包括:介紹動態規劃和其他基本演算法設計技巧,並探討各種圖演算法;與IOI課程大綱相容,同時也涵蓋了更高級的主題,如最大流、Nim理論和後綴結構;綜述了樹的專用演算法,並討論了在競賽程式設計中相關的數學主題;回顧了C++程式語言的特點,並描述了如何創建能夠快速處理大型數據集的高效演算法;討論了排序演算法和二分搜尋,並檢視了C++標準庫中的各種資料結構;涵蓋了位元並行和攤銷分析等高級演算法設計主題,並著重於高效處理陣列範圍查詢;描述了一些更高級的主題,包括平方根演算法和動態規劃優化。

這本全面更新、擴充且易於理解的核心教科書/指南是所有需要學習演算法並為程式設計競賽練習的學生的理想參考資料。假設讀者具備程式設計基礎知識,但不需要有演算法設計或程式設計競賽的背景。由於本書涵蓋了廣泛的主題、範例和參考資料,因此非常適合初學者和有經驗的讀者。

作者簡介

Dr. Antti Laaksonen has worked as a teacher and researcher at the University of Helsinki and Aalto University, Finland. He has served as one of the organizers of the Finnish Olympiad in Informatics since 2008, and as the Scientific Chair of the Baltic Olympiad in Informatics in 2016. He has also coached and led the Finnish team at several international programming contests, including the International Olympiad in Informatics 2009-2016, and has established experience in teaching programming and algorithms.​

作者簡介(中文翻譯)

Dr. Antti Laaksonen 在芬蘭的赫爾辛基大學和阿爾托大學擔任教師和研究員。他自2008年起擔任芬蘭信息學奧林匹克競賽的組織者之一,並在2016年擔任波羅的海信息學奧林匹克競賽的科學主席。他還指導和領導芬蘭隊參加了多次國際編程比賽,包括2009年至2016年的國際信息學奧林匹克競賽,並在教授編程和算法方面具有豐富經驗。