کتاب Programming Challenges: The Programming Contest Training Manual از انتشارات معتبر Springer کتاب مفیدی برای آمادگی شرکت در مسابقات برنامه‌نویسی است که نویسندگان آن به صورت گام به گام، خلاصه و مفید، به مفاهیم و نکات مهم برنامه‌نویسی، ساختمان داده‌ها، محاسبات ریاضی و طراحی الگوریتم‌ها اشاره داشته و با طرح مسائل متفاوت از هر موضوع، خواننده را به چالش حل مسئله کشیده‌اند.

در این کتاب برای هر موضوع مورد بحث تعدادی سوال از وب‌سایت UVA انتخاب و مطرح شده است. به این ترتیب خواننده علاوه بر آشنایی با مفاهیم مختلف، با نحوه طراحی سوال از آن موضوع نیز مواجه می‌شود. نویسندگان کتاب در مقدمه به این نکته اشاره داشته‌اند که در انتخاب سوال‌ها علاوه بر مرتبط بودن موضوع، جنبه سرگرمی و جذابیت نیز تا حد ممکن رعایت شده است: «گاهی موضوعات جذاب علم کامپیوتر و ریاضیات در قالب داستان‌های سرگرم کننده بیان شده است. این مسئله مطالعه موارد جذاب دیگری را پیش می‌آورد.»

  

کتاب چالش‌های برنامه‌نویسی - Programming Challenges

  

کتاب Programming Challenges از چهارده فصل به شرح زیر تشکیل یافته است:

  

1. Getting Started

• Getting Started With the Judge

• Choosing Your Weapon

• Programming Hints

• Elementary Data Types

• About the Problems

• Problems, Hints and Notes

2. Data Structures

• Elementary Data Structures

• Object Libraries

• Program Design Example: Going to War

• Hitting the Deck

• String Input/Output

• Winning the War

• Testing and Debugging

• Problems, Hints and Notes

3. Strings

• Character Codes

• Representing Strings

• Program Design Example: Corporate Renamings

• Searching for Patterns

• Manipulating Strings

• Completing the Merger

• String Library Functions

• Problems, Hints and Notes

4. Sorting

• Sorting Applications

• Sorting Algorithms

• Program Design Example: Rating the Field

• Sorting Library Functions

• Rating the Field

• Problems, Hints and Notes

5. Arithmetic and Algebra

• Machine Arithmetic

• High-Precision Integers

• High-Precision Arithmetic

• Numerical Bases and Conversion

• Real Numbers

• Algebra

• Logarithms

• Real Mathematical Libraries

• Problems, Hints and Notes

6. Combinatorics

• Basic Counting Techniques

• Recurrence Relations

• Binomial Coefficients

• Other Counting Sequences

• Recursion and Induction

• Problems, Hints and Notes

7. Number Theory

• Prime Numbers

• Divisibility

• Modular Arithmetic

• Congruences

• Number Theoretic Libraries

• Problems, Hints and Notes

8. Backtracking

• Backtracking

• Constructing All Subsets

• Constructing All Permutations

• Program Design Example: The Eight-Queens Problem

• Pruning Search

• Problems, Hints and Notes

9. Graph Traversal

• Flavors of Graphs

• Data Structures for Graphs

• Graph Traversal: Breadth-First

• Graph Traversal: Depth-First

• Topological Sorting

• Problems and Hints

10. Graph Algorithms

• Graph Theory

• Minimum Spanning Trees

• Shortest Paths

• Network Flows and Bipartite Matching

• Problems and Hints

11. Dynamic Programming

• Don’t Be Greedy

• Edit Distance

• Reconstructing the Path

• Varieties of Edit Distance

• Program Design Example: Elevator Optimization

• Problems, Hints and Notes

12. Grids

• Rectilinear Grids

• Triangular and Hexagonal Grids

• Program Design Example: Plate Weight

• Circle Packings

• Longitude and Latitude

• Problems and Hints

13. Geometry

• Lines

• Triangles and Trigonometry

• Circles

• Program Design Example: Faster Than a Speeding Bullet

• Trigonometric Function Libraries

• Problems and Hints

14. Computational Geometry

• Line Segments and Intersection

• Polygons and Angle Computations

• Convex Hulls

• Triangulation: Algorithms and Related Problems

• Algorithms on Grids

• Geometry Libraries

• Problems and Hints

Appendix

• The ACM International Collegiate Programming Contest

• International Olympiad in Informatics

• Topcoder.com

• Go to Graduate School!

• Problem Credits

  
این کتاب برای شروع تمرین تیم‌های مسابقات برنامه‌نویسی توصیه می‌شود و از این پیوند قابل دریافت است.

مجموعه ویدئوها و اسلایدهای کلاس درس 2009 نویسنده‌ که بر اساس فصل‌های همین کتاب پیش رفته است، از این پیوند و فایل‌های صوتی آن از این پیوند در دسترسی عموم قرار گرفته است.

همچنین امکان مشاهده و دریافت ویدئوهای آموزشی از طریق کانال الگوریتمستان در آپارات وجود دارد.

مسعود اقدسی فام

مسعود اقدسی فام هستم.

دانش‌آموخته‌ی علوم کامپیوتر و فعال حوزه‌های علم داده و یادگیری ماشین؛ علاقه‌مند به یاد دادن و یاد گرفتن :)

algs.ir/spcbook     اشتراک‌گذاری در LinkedIn     اشتراک‌گذاری در Twitter     ارسال با Telegram
  • 1
  • 2
  • 3
  • 4
  • 5

نام: *  

پست الکترونیک (محرمانه):

متن پیام: *  

01 02 06 07 08 09 10 11 12 13 14

• abbas
چهارشنبه، ۱۴ آذر ماه ۱۳۸۶، ساعت ۱۲:۵۲

فکر کنم خوب باشه

ممنون

• دكو
یکشنبه، ۲۵ آذر ماه ۱۳۸۶، ساعت ۱۸:۴۲

حتما خوبه

• saeed
دوشنبه، ۲۶ آذر ماه ۱۳۸۶، ساعت ۱۷:۱۵

بسیار عالیه

واقعا دستتون درد نکنه

• وحید
سه‌شنبه، ۱۱ دی ماه ۱۳۸۶، ساعت ۰۱:۳۷

سلام و خسته نباشید

واقعا خسته نباشید

به امید موفقیتهای روز افزونتان

یا حق

• مرادی
سه‌شنبه، ۱۶ بهمن ماه ۱۳۸۶، ساعت ۱۱:۲۲

سلام وخسته نباشید عرض میکنم خدمت تمامی طراحان و زحمت کشان سایت  www.aachp.ir :

امیدوارم که زندگی به کامتان باشد .

عذر خواهی می کنم که وقت گرانبهایتان را میگیرم .

چند خواهش و پیشنهاد از شما داشتم اول اینکه اگر متن انگلیسی سوالات ACM را دارید آنها را در سایت قرار دهید و دوم اینکه اگر امکان دارد یک بار دیگر کتاب  Art of Programming Contest را در سایت قرار بدهید سوم اینکه اگر اطللاعاتی در مورد مسابقات ACM دارید در سایت قرار بدهید مثال :1- تاریخچه مسابقات 2- تعداد اعضای تیم 3- تسلط بر کدام زبان بر نامه نویسی؟ 4- زمان تخمینی برگذاری مسابقات  انتخابی و اصلی  5- مکان بر گذاری مسابقات انتخابی  6- مکان بر گذاری مسابقات اصلی 7- معرفی تیمهای اول و دوم و سوم  واعضای تیمها در مسابقات انتخابی 8- معرفی تیمهای اول و دوم و سوم  واعضای تیمها در مسابقات اصلی 8- تعداد سوالات 9-پاسخ سوالات به کدام زبان نوشته میشوند و خلاصه تمامی اطلاعات مربوط به مسابقات ACM انتخابی و مسابقات اصلی 10- یک ایمیل برای سایت درست کنید و آدرسش را هم در سایت ذکر کنید 11- لینک مربوط به نقشه سایت خودتان را نیزدر سایت قرار دهید .

و در آخر یک انتقاد (که انشا اله..سازنده خواهند بود) و آن اینکه به سایت های مربوطه لینک نداده اید مثلا به سایت هایی که امکان دانلود زبان های برنامه نویسی را میدهند .

سایت بسیار خوبی را برای آموزش طراحی کرده اید ولی اطلاع رسانی خوبی در مورد مسابقات  (بخصوص (ACMندارید که انشا اله...رفع خواهد شد .

این هم ایمیل من اگر نیاز بود : l_morad_a@yahoo.com

آرزوی موفقیت و شاد کامی برای تک تک اعضای سایت دارم .یک بار دیگر عذر خواهی می کنم که وقت گرانبهایتان را گرفته ام - میگیرم و خواهم گرفت .  با تشکرات فراوان ارادتمند شما " مرادی".

• ناهید
سه‌شنبه، ۱۶ بهمن ماه ۱۳۸۶، ساعت ۱۱:۳۲

کتاب Programming Challenge  از لینک مربوطه پاک شده لطفا آنرا دوباره قرار دهید ممنون

• فرشاد
چهارشنبه، ۲۴ بهمن ماه ۱۳۸۶، ساعت ۲۱:۱۷

خوب حالا از کجا تهیه کنیم ؟؟؟؟؟؟؟؟

مسعود اقدسی فام
پنجشنبه، ۲۵ بهمن ماه ۱۳۸۶، ساعت ۱۱:۰۹

فرشاد جان همونطور کع ناهید خانوم هم اشاره کردن کتاب از جایگاه قبلی خودش پاک شده.

مسعود اقدسی فام
دوشنبه، ۲۹ بهمن ماه ۱۳۸۶، ساعت ۱۳:۵۹

لینک کتاب مجددا فعال شد.

• حمید
چهارشنبه، ۸ اسفند ماه ۱۳۸۶، ساعت ۰۶:۵۱

سلام

هنوز استفاده نکردم. ولی به خاطر زحمتتون ممنون.

• blackhex
یکشنبه، ۱۲ اسفند ماه ۱۳۸۶، ساعت ۱۷:۲۱

سلام

• bookworm
پنجشنبه، ۵ اردیبهشت ماه ۱۳۸۷، ساعت ۱۳:۵۲

سلام

میشه لینک کتاب Programming Challenge رو دوباره فعال کنید.

• صادق
چهارشنبه، ۲۵ اردیبهشت ماه ۱۳۸۷، ساعت ۰۷:۰۹

با سلام

آقا لینک کتاب کجاست؟

• yunes
جمعه، ۱۷ خرداد ماه ۱۳۸۷، ساعت ۱۱:۳۳

لطفا کتاب acm را برای من بفرستید.

مسعود اقدسی فام
چهارشنبه، ۶ شهریور ماه ۱۳۸۷، ساعت ۱۵:۵۶

با عرض پوزش از دوستان عزیز، امکان دانلود کتاب مجددا فراهم شد.

• سید سعید حسینی
یکشنبه، ۱۰ اسفند ماه ۱۳۹۳، ساعت ۱۲:۱۹

سلام

از آشنایی با وبسایتتون بی نهایت خوشحالم

ممنون