Product details
- Publisher : No Starch Press (December 15, 2020)
- Language : English
- Paperback : 408 pages
- ISBN-10 : 1718500807
-
ISBN-13 : 978-1718500808
جلد سخت سیاه و سفید_کتاب Algorithmic Thinking: A Problem-Based Introduction
A hands-on, problem-based introduction to building algorithms and data structures to solve problems with a computer.
Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. Daniel Zingaro, a master teacher, draws his examples from world-class programming competitions like USACO and IOI. You'll learn how to classify problems, choose data structures, and identify appropriate algorithms. You'll also learn how your choice of data structure, whether a hash table, heap, or tree, can affect runtime and speed up your algorithms; and how to adopt powerful strategies like recursion, dynamic programming, and binary search to solve challenging problems.
Line-by-line breakdowns of the code will teach you how to use algorithms and data structures like:
• The breadth-first search algorithm to find the optimal way to play a board game or find the best way to translate a book
• Dijkstra's algorithm to determine how many mice can exit a maze or the number of fastest routes between two locations
• The union-find data structure to answer questions about connections in a social network or determine who are friends or enemies
• The heap data structure to determine the amount of money given away in a promotion
• The hash-table data structure to determine whether snowflakes are unique or identify compound words in a dictionary
NOTE: Each problem in this book is available on a programming-judge website. You'll find the site's URL and problem ID in the description. What's better than a free correctness check?
منابع کتاب جلد سخت سیاه و سفید_کتاب Algorithmic Thinking: A Problem-Based Introduction
مقدمه ای عملی و مبتنی بر مسئله برای ساخت الگوریتم ها و ساختارهای داده برای حل مشکلات با رایانه.
تفکر الگوریتمی به شما یاد می دهد که چگونه مسائل چالش برانگیز برنامه نویسی را حل کنید و الگوریتم های خود را طراحی کنید. دانیل زینگارو، استاد استاد، نمونه های خود را از مسابقات برنامه نویسی در سطح جهانی مانند USACO و IOI می گیرد. شما یاد خواهید گرفت که چگونه مسائل را طبقه بندی کنید، ساختارهای داده را انتخاب کنید و الگوریتم های مناسب را شناسایی کنید. همچنین خواهید آموخت که چگونه انتخاب ساختار داده شما، اعم از جدول هش، پشته یا درخت، می تواند بر زمان اجرا تأثیر بگذارد و الگوریتم های شما را سرعت بخشد. و چگونگی اتخاذ استراتژی های قدرتمند مانند بازگشت، برنامه نویسی پویا و جستجوی باینری برای حل مسائل چالش برانگیز.
تجزیه خط به خط کد به شما یاد می دهد که چگونه از الگوریتم ها و ساختارهای داده مانند:
• الگوریتم جستجوی پهنا-اول برای یافتن راه بهینه برای انجام یک بازی رومیزی یا یافتن بهترین راه برای ترجمه کتاب
• الگوریتم دایکسترا برای تعیین تعداد موش هایی که می توانند از پیچ و خم خارج شوند یا تعداد سریع ترین مسیرها بین دو مکان
• اتحاد -یافتن ساختار داده برای پاسخ به سوالات مربوط به اتصالات در یک شبکه اجتماعی یا تعیین اینکه چه کسانی دوست یا دشمن هستند
• ساختار داده پشته برای تعیین مقدار پولی که در تبلیغات اهدا می شود
• ساختار داده جدول هش برای تعیین اینکه دانه های برف منحصر به فرد هستند یا خیر. کلمات مرکب را در فرهنگ لغت شناسایی کنید
توجه: هر مسئله در این کتاب در وب سایت داور برنامه نویسی موجود است. آدرس سایت و شناسه مشکل را در توضیحات پیدا خواهید کرد. چه چیزی بهتر از یک بررسی صحت رایگان؟
ارسال نظر درباره جلد سخت سیاه و سفید_کتاب Algorithmic Thinking: A Problem-Based Introduction