دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: الگوریتم ها و ساختارهای داده ویرایش: 1st نویسندگان: Aditya Y. Bhargava سری: ISBN (شابک) : 9781617292231 ناشر: Manning Publications سال نشر: 2016 تعداد صفحات: 0 زبان: English فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 9 مگابایت
در صورت تبدیل فایل کتاب Grokking Algorithms: An illustrated guide for programmers and other curious people به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب الگوریتم های Grokking: راهنمای مصور برای برنامه نویسان و دیگر افراد کنجکاو نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
خلاصه الگوریتمهای Grokking یک راهنمای کاملاً مصور و دوستانه است که به شما میآموزد چگونه الگوریتمهای رایج را برای مشکلات عملی که هر روز به عنوان یک برنامهنویس با آن مواجه میشوید، اعمال کنید. شما با مرتبسازی و جستجو شروع میکنید و با تقویت مهارتهای خود در تفکر الگوریتمی، با نگرانیهای پیچیدهتری مانند فشردهسازی دادهها و هوش مصنوعی مقابله خواهید کرد. هر نمونه با دقت ارائه شده شامل نمودارهای مفید و نمونه کدهای کاملاً مشروح در پایتون است. یادگیری در مورد الگوریتم ها نباید خسته کننده باشد! نمونههای سرگرمکننده، مصور و دوستانهای را که در الگوریتمهای Grokking در کانال یوتیوب انتشارات منینگ پیدا خواهید کرد، نگاه کنید. خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است. درباره فناوری یک الگوریتم چیزی بیش از یک روش گام به گام برای حل یک مسئله نیست. الگوریتم هایی که اغلب به عنوان برنامه نویس استفاده می کنید قبلاً کشف، آزمایش و اثبات شده اند. اگر میخواهید آنها را بفهمید، اما از اثبات چند صفحهای متراکم خودداری میکنید، این کتاب برای شماست. این راهنمای کاملاً مصور و جذاب یادگیری نحوه استفاده مؤثر از مهمترین الگوریتم ها در برنامه های خود را آسان می کند. درباره الگوریتمهای کتاب Grokking برداشتی دوستانه از این موضوع اصلی علوم کامپیوتر است. در آن، یاد خواهید گرفت که چگونه الگوریتم های رایج را برای مشکلات برنامه نویسی عملی که هر روز با آن مواجه می شوید، اعمال کنید. شما با کارهایی مانند مرتب سازی و جستجو شروع خواهید کرد. همانطور که مهارت های خود را تقویت می کنید، با مشکلات پیچیده تری مانند فشرده سازی داده ها و هوش مصنوعی مقابله خواهید کرد. هر نمونه با دقت ارائه شده شامل نمودارهای مفید و نمونه کدهای کاملاً مشروح در پایتون است. در پایان این کتاب، شما بر الگوریتم های کاربردی و همچنین نحوه و زمان استفاده از آنها تسلط خواهید داشت. الگوریتمهای جستجو، مرتبسازی و نمودار پوششهای درونی What's Inside بیش از 400 عکس با مراحل دقیق مقایسه عملکرد بین الگوریتمها نمونههای کد مبتنی بر پایتون درباره Reader این مقدمه آسان برای خواندن و تصویر سنگین برای برنامهنویسان و مهندسان خودآموخته مناسب است. ، یا هر کسی که می خواهد الگوریتم ها را بررسی کند. درباره نویسنده Aditya Bhargava یک مهندس نرم افزار با سابقه دوگانه در علوم کامپیوتر و هنرهای زیبا است. او در مورد برنامه نویسی در adit.io وبلاگ می نویسد. فهرست مطالب مقدمهای بر الگوریتمها مرتبسازی انتخابی مرتبسازی بازگشتی مرتبسازی سریع جداول هش پهنا-اول جستجو الگوریتم Dijkstra الگوریتمهای حریص برنامهنویسی پویا K-نزدیکترین همسایگان
Summary Grokking Algorithms is a fully illustrated, friendly guide that teaches you how to apply common algorithms to the practical problems you face every day as a programmer. You'll start with sorting and searching and, as you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. Learning about algorithms doesn't have to be boring! Get a sneak peek at the fun, illustrated, and friendly examples you'll find in Grokking Algorithms on Manning Publications' YouTube channel. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology An algorithm is nothing more than a step-by-step procedure for solving a problem. The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to understand them but refuse to slog through dense multipage proofs, this is the book for you. This fully illustrated and engaging guide makes it easy to learn how to use the most important algorithms effectively in your own programs. About the Book Grokking Algorithms is a friendly take on this core computer science topic. In it, you'll learn how to apply common algorithms to the practical programming problems you face every day. You'll start with tasks like sorting and searching. As you build up your skills, you'll tackle more complex problems like data compression and artificial intelligence. Each carefully presented example includes helpful diagrams and fully annotated code samples in Python. By the end of this book, you will have mastered widely applicable algorithms as well as how and when to use them. What's Inside Covers search, sort, and graph algorithms Over 400 pictures with detailed walkthroughs Performance trade-offs between algorithms Python-based code samples About the Reader This easy-to-read, picture-heavy introduction is suitable for self-taught programmers, engineers, or anyone who wants to brush up on algorithms. About the Author Aditya Bhargava is a Software Engineer with a dual background in Computer Science and Fine Arts. He blogs on programming at adit.io. Table of Contents Introduction to algorithms Selection sort Recursion Quicksort Hash tables Breadth-first search Dijkstra's algorithm Greedy algorithms Dynamic programming K-nearest neighbors
Предисловие 11 Благодарности 12 О книге 14 Структура книги 15 Как работать с этой книгой 16 Для кого предназначена эта книга 16 Условные обозначения и загружаемые материалы 17 Об авторе 17 От издательства 17 Глава 1. Знакомство с алгоритмами 18 Введение 18 Что вы узнаете об эффективности алгоритмов 19 Что вы узнаете о решении задач 19 Бинарный поиск 20 Более эффективный поиск 23 Упражнения 27 Время выполнения 28 «О-большое» 29 Время выполнения алгоритмов растет с разной скоростью 29 Наглядное представление «О-большое» 32 «О-большое» определяет время выполнения в худшем случае 34 Типичные примеры «О-большого» 35 Упражнения 36 Задача о коммивояжере 37 Шпаргалка 39 Глава 2. Сортировка выбором 40 Как работает память 41 Массивы и связанные списки 43 Связанные списки 45 Массивы 46 Терминология 47 Упражнения 48 Вставка в середину списка 49 Удаление 50 Упражнения 51 Сортировка выбором 53 Пример кода 57 Шпаргалка 58 Глава 3. Рекурсия 59 Рекурсия 60 Базовый случай и рекурсивный случай 63 Стек 65 Стек вызовов 66 Упражнения 68 Стек вызовов с рекурсией 69 Упражнения 73 Шпаргалка 74 Глава 4. Быстрая сортировка 75 «Разделяй и властвуй» 76 Упражнения 85 Быстрая сортировка 85 Снова об «О-большом» 92 Сортировка слиянием и быстрая сортировка 93 Средний и худший случай 95 Упражнения 99 Шпаргалка 99 Глава 5. Хеш-таблицы 100 Хеш-функции 103 Упражнения 107 Примеры использования 107 Использование хеш-таблиц для поиска 108 Исключение дубликатов 110 Использование хеш-таблицы как кэша 112 Шпаргалка 116 Коллизии 116 Быстродействие 119 Коэффициент заполнения 122 Хорошая хеш-функция 124 Упражнения 125 Шпаргалка 126 Глава 6. Поиск в ширину 127 Знакомство с графами 128 Что такое граф? 131 Поиск в ширину 132 Поиск кратчайшего пути 135 Очереди 136 Упражнения 137 Реализация графа 138 Реализация алгоритма 141 Время выполнения 146 Упражнения 147 Шпаргалка 150 Глава 7. Алгоритм Дейкстры 151 Работа с алгоритмом Дейкстры 152 Терминология 157 История одного обмена 160 Ребра с отрицательным весом 167 Реализация 170 Упражнения 181 Шпаргалка 181 Глава 8. Жадные алгоритмы 182 Задача составления расписания 183 Задача о рюкзаке 185 Упражнения 187 Задача о покрытии множества 187 Приближенные алгоритмы 189 Упражнения 196 NР-полные задачи 196 Задача о коммивояжере - шаг за шагом 197 Как определить, что задача является NР-полной? 202 Упражнения 205 Шпаргалка 205 Глава 9. Динамическое программирование 206 Задача о рюкзаке 206 Простое решение 207 Динамическое программирование 208 Задача о рюкзаке: вопросы 217 Что произойдет при добавлении элемента? 217 Упражнения 220 Что произойдет при изменении порядка строк? 220 Можно ли заполнять таблицу по столбцам, а не по строкам? 221 Что произойдет при добавлении меньшего элемента? 221 Можно ли взять часть предмета? 221 Оптимизация туристического маршрута 223 Взаимозависимые элементы 224 Может ли оказаться, что решение требует более двух «подрюкзаков»? 225 Возможно ли, что при лучшем решении в рюкзаке остается пустое место? 226 Упражнения 226 Самая длинная общая подстрока 226 Построение таблицы 228 Заполнение таблицы 229 Решение 230 Самая длинная общая подпоследовательность 232 Самая длинная общая подпоследовательность - решение 233 Упражнения 235 Шпаргалка 235 Глава 10. Алгоритм k ближайших соседей 236 Апельсины и грейпфруты 236 Построение рекомендательной системы 239 Извлечение признаков 240 Упражнения 245 Регрессия 245 Выбор признаков 248 Упражнения 249 Знакомство с машинным обучением 249 OCR 250 Построение спам-фильтра 251 Прогнозы на биржевых торгах 252 Шпаргалка 252 Глава 11. Что дальше? 254 Деревья 254 Инвертированные индексы 258 Преобразование Фурье 259 Параллельные алгоритмы 260 MapReduce 261 Для чего нужны распределенные алгоритмы? 261 Функция map 261 Функция reduce 262 Фильтры Блума и Hyperloglog 263 Фильтры Блума 265 Hyperloglog 265 Алгоритмы SHA 266 Сравнение файлов 267 Проверка паролей 268 Локально-чувствительное хеширование 269 Обмен ключами Диффи-Хеллмана 270 Линейное программирование 272 Эпилог 273 Ответы к упражнениям 274