Рубрики
Без рубрики

10 лучших книг для изучения структуры и алгоритмов данных в Java, Python, C и C ++

Лучшие книги по структуре и алгоритмам данных для начинающих в Java, Python, C и C ++ .. Помечено новичками, Java, Python, книгами.

Раскрытие информации: этот пост включает в себя партнерские ссылки; Я могу получить компенсацию, если вы приобретете продукты или услуги от различных ссылок, представленных в этой статье.

Алгоритмы языка агностики, и любой программист стоит их соль, должен иметь возможность преобразовать их в код в языке программирования по их выбору, но в то же время легче узнать, если примеры представлены в языке программирования на ваш выбор.

К сожалению, я нашел несколько программистов, которые являются Действительно Хорошо на языках программирования, как Java или Python Как известно незначительные детали API и языковых тонкостей, но имеют очень плохое знание алгоритмов основ и структуры данных.

Просто попросите их реализовать любые популярные алгоритмы сортировки, такие как QuickSort или Сортировка слиянием И они развалится. Если вы ожидаете, что они узнают более передовые и сложные алгоритмы, такие как Струнные алгоритмы , Графические алгоритмы , Треверс дерева Или жадные алгоритмы, будьте готовы проверить на интервью, в противном случае вы можете оказаться некоторыми сюрпризами.

Однажды я сталкиваюсь с очень хорошим кандидатом на ядро Java старшей роли разработчиков, он был отличным в Java, Многопоточья Но его структура данных и алгоритм навык было действительно бедным для своего опыта и калибра.

Когда я спросил его, почему он не проводил время, расчесывая свой алгоритм и навык решения проблем, прежде чем прийти на интервью? Его оправдание было «Эти алгоритмы только для интервью и никогда не использовались в практическом кодировке. Я никогда не использовал их в моих 6 годах карьеры развития Java « ».

Он был несколько прав, вам не нужно реализовать хэш-таблица в Java, вы всегда можете использовать Hashmap Класс или словарь в Python для этого смысла, но он не смог распознать более длительный алгоритм улучшения и структуру данных в Улучшение навыка программирования .

Алгоритмы являются инструментами для разработки навыков для решения навыков программирования и кодирования, что требуется для преобразования пользовательского требования в строку кода, также известной как компьютерная программа.

Они также вокруг, если вы используете Facebook, вы когда-нибудь думали о том, как они так легко легко находят друзья? Или как Netflix рекомендует фильм, который вы хотите посмотреть? Это всего лишь пара примеров Алгоритмы обучения машины , который принимает алгоритмы на другой уровень.

Топ 10 Структура данных и алгоритмы книги на Java, Python, C и C ++ для начинающих и опытных программистов

Еще один совет золота тем, кто думает, что алгоритмы являются структурами данных для тех, кто хочет работать в Amazon , Google , Facebook, Intel или Microsoft , помните, что это единственный навык, который является вечно, конечно, кроме Unix , SQL и C Язык программирования Отказ

Языки программирования приходят и проходят, но ядро программирования, которое является алгоритмом и структурой данных остается прежним.

Если вы знаете, как работает хэш-таблица, вы можете использовать их реализацию в любом языке программирования, такими как Hashmap от JDK, словарь в Python или хесмап из C ++ Boost Библиотека.

Итак, если вы серьезно относитесь к программированию и реализации, теперь, когда алгоритмы и структура данных не являются необязательными, вот некоторые из великих книг для изучения алгоритмов.

Некоторые из вас, возможно, уже прочитали их раньше, но они стоят снова читать. Кстати, если вы покупаете книгу, используя ссылки в этой статье, я также получаю оплату.

1. Введение в алгоритмы Томаса Х. Кормена Это один из самых популярных алгоритм книг, но знайте, что он содержит тяжелую дозу теории. Текущее издание этой книги – это 3-е издание, и я настоятельно рекомендую, чтобы каждый программист должен иметь это на их книжной полке, но только для коротких чтения и ссылок.

Невозможно закончить эту книгу в одном заседании, и некоторые из вас могут быть трудно прочитать, но не волнуйтесь, вы можете комбинировать ваше обучение с помощью онлайн-курса, такими как Структуры данных и алгоритмы: Глубокое погружение с использованием Java вместе с этой книгой.

Это похоже на лучшее из обоих миров, вы быстро изучаете Basic Algrotihsm быстро в онлайн-курсе, а затем вы дополнительно цените это знание, пройдя через книгу, которая позволила бы вам сделать вам больше смысла, чтобы вы уже проходили курс.

Еще одна причина, по которой я рекомендую эту книгу одной из первых книг по алгоритму из-за ее языка агностики и сопровождается лекциями здесь

2. Алгоритмы Роберта Сексвик и Кевин Уэйн Это был мой предпочтительный ресурс по алгоритмам в течение длительного времени, он все еще есть, но теперь я вижу это реже, чем раньше. Вы узнаете много фона в алгоритме, и в наши дни даже конкретные версии этой книги доступны для различных языков программирования, такие как Java и C ++ Отказ

Также есть пара бесплатных онлайн-курсов Coursera для этой книги, Алгоритмы часть 1 и Алгоритмы часть 2 , который красиво дополняет эту книгу. Это отлично. Это также моя лучшая рекомендация для программистов Java для алгоритмов обучения.

Находясь на Coursera, он также имеет некоторые из лучших коллекций структуры данных и курсов алгоритмов, охватывающих каждую и важные темы. Они связаны вместе как Курсера Специализация по алгоритмам Отказ Если вы заинтересованы в изучении алгоритмах подробно, это место, которое я бы предложил вам пойти.

Хочешь верь, хочешь нет Но если вы уже знаете язык программирования, то просив пример алгоритма на этом языке программирования, чем другие, также уменьшает кривую обучения. * Вы также можете прочитать 4-е издание этой книги онлайн бесплатно [* здесь ] ( http://algs4.cs.princeton.edu/home/ )

3. Руководство по проектированию алгоритма Стив С. Скины Это еще одна отличная книга на компьютерных алгоритмах, которые идут слишком тонны алгоритмов с большим количеством кода. То, что я особенно нравится в книге, заключается в том, где он фактически дает примеры того, где он использовал алгоритмы (или их вариации) на практике; Это действительно помогает вам увидеть класс (es) проблем, которые можно использовать конкретный алгоритм (или семейство алгоритмов).

Код в C , но это не очень эзотерирует, и это легко следовать. Я также был в школе некоторое время, и это помогло мне встать на скорость довольно быстро на ряд Графические алгоритмы . У меня была эта книга почти 10 лет, и все еще посмотрела на это время от времени

4. Алгоритм в двух словаре Алгоритмы О’Рили в двух словах – очень хорошая книга для изучения алгоритмов программирования, особенно для программистов Java. Он описывает алгоритмы с акцентом на реализацию их и Без тяжелой математики используется в классических книгах по алгоритмам.

Все алгоритмы представлены в форме шаблона, с мотивацией их использовать, изображения и псевдокод, дающие обзор высокого уровня и рабочий код (в C , C ++ , Java и Ruby ).

У них также есть ориентиры для обеспечения доказательства теоретических показателей алгоритмов. Короче говоря, одна из лучших книг для изучения алгоритмов для программистов.

5. Алгоритм для интервью \ Алгоритм для интервью Adnan Aziz является обязательным чтением книги по алгоритмам, написанным с точки зрения сохранения Программирование интервью в уме.

Покрытие сама показывает, насколько интересна книга, если вы внимательно смотрите на изображение на обложке, который рисуется с эскизами известных людей, и книга объясняет, как вы можете разрабатывать такие алгоритмы. Интересно, не так ли?

Ну, мне нравится эта книга из-за его подхода и цели, иногда изучая то же самое с разными объектами, помогает понять это лучше.

6. Алгоритм Дизайн Kleinberg & Tardos \ Это на самом деле вторая лучшая книга в алгоритмах после того, как Томас Кормон Введение в алгоритмы . Это не совсем введение в алгоритмы и более подходящим для опытных программистов.

Это больше о дизайне алгоритма для разработчиков, знакомых с основными алгоритмами. Вы должны начать с введения алгоритма книги или алгоритмов robert Segegewick, а затем продолжить с этой книгой.

Кстати, если вам нравится, вы также можете объединить ваше обучение в онлайн-курсе, как Алгоритмы и структуры данных – Часть 1 и 2 на Плуренайт Отказ Это хороший курс, чтобы познакомиться с эфирными алгоритмами и структурой данных, прежде чем перейти к тему дизайна алгоритма.

7. Введение в алгоритмы: творческий подход Введение в алгоритмы: творческий подход UDI Manber – еще одна отличная книга для самостоятельного изучения, так как она полна сотен проблем и примеров.

Он предназначен для повышения способностей по решению проблем кандидата и пониманию принципов, основанных за алгоритмом дизайна, который поможет вам развить свой Решение проблемы а также Кодирование навыков Отказ

8. Структуры данных и алгоритмы. Aho, Ullman & Hopcroft Еще одна хорошая вступительная книга по алгоритмам и структурам данных. Прекрасная и ясная книга и любой программист, который не любит тяжелое использование математики на алгоритме, будет признателен за эту книгу.

Кстати, если вы обнаружите, что эта книга трудно прочитать, что с тем, что некоторые из моих читателей жалуются, тогда вы также можете взглянуть на Гроккинг алгоритмы Адитой Бхаргавой, одной из самых простых и интересных книг по алгоритмам для начинающих.

9. Проектирование и анализ алгоритмов Это еще один великий повар на компьютерных алгоритмах и заслуживает место на полке программиста. Как только вы пройдете через Курсера Специализация по алгоритмам И одна из вступительных книг, вы можете прочитать эту книгу для изучения продвинутых тем в алгоритмах.

10. Алгоритмы Python: Овладение основными алгоритмами на языке Python \ Эта книга предназначена для программистов Python. Magnus Le Hetland также является автором одного из популярных вводных книг Python, Начало Python Отказ

Как я сказал, что алгоритмы независимы от языка, изучение алгоритма Python не означает, что вы не можете их реализовать в Java или C ++ С Но если вы уже знаете Питон Тогда это отличная книга для изучения компьютерных алгоритмов.

Эта книга также дает много внимания на Графические алгоритмы , что очень полезно в решении реальных проблем.

11. Гроккинг алгоритмы \ Это книга, которая не была частью оригинальной серии, когда я опубликовал эту статью в моем блоге, но после прочтения этой книги я должен включить это в список из-за его простоты. Это один из Лучшие книги я прочитал на алгоритмах , особенно с точки зрения начинающих.

Он использует современные примеры, такие как как Facebook сохранил бы имя пользователя, чтобы он мог легко искать его, когда вход. Эти примеры резонируют лучше с новичками и помогают им понять концепцию, как почему Массив это лучший выбор, чем Связанный список Для поиска.

Предпосылка Aditya в изобразительном искусстве также делает эту книгу визуальным учебным ресурсом. Вы найдете так много интересных, до точечных диаграмм в этой книге, которая помогает вам лучше изучить концепцию лучше и быстрее.

Вот хорошая диаграмма, которая весит эту книгу с другими алгоритмами, упомянутой в этом списке:

Короче говоря, один из Лучшие алгоритмы книги для любого начинающего программиста Отказ Это не охватывает всю структуру данных и алгоритмы, но все, что он охватывает, он хорошо их объясняет.

Это все о 10 алгоритм книги каждый программист должен читать Отказ Я согласен, что алгоритмы – сложная тема И нелегко понять их в одном чтении, В этом случае я предлагаю читать ту же книгу дважды.

Также просто чтение недостаточно, попробуйте реализовать их в языке программирования, который вы любите. Это не повредит писать свой собственный ArrayList, hashmap или реализацию на основе дерева карты.

Влияние алгоритма обучения не сразу видно, но вы заметите тонкое улучшение вашего мышления, здания решения и качество кода со временем.

Кстати, если вы заинтересованы в онлайн-курсе по алгоритмам, я предлагаю вам проверить Структуры данных и алгоритмы: Глубокое погружение с использованием Java на удемию. Это не бесплатный курс, но вы можете купить чуть менее 10-15 долларов на несколько продаж Udemy Flash, что происходит каждые несколько дней

Другое Структура данных и алгоритмы статей * тебе может понравиться

Спасибо за чтение этой статьи, если вам нравится этот список книг, то вам также наслажданется моей коллекцией 10 книг каждый программист должен читать , Какой список книг по программированию, кодированию, методам разработки программного обеспечения и лучших практик, компьютеров, программирования в качестве профессии и опыта некоторых из великих программистов/кодеров/разработчиков прошлых 50 лет.

Наконец, есть два типа программистов, которые понимают алгоритм и тот, кто не.

Вам не нужно читать все книги, чтобы стать структурой данных и чемпионатом алгоритмами, выберите книгу в зависимости от вашего любимого языка программирования и ваш опыт. Для абсолютных новичков алгоритмы Grokking лучше, но для получения более всеобъемлющего охвата введение в алгоритмы – это хорошо. Для жестких интервью, таких как Google и Facebook, алгоритмы для интервью и алгоритма дизайна Стивена Skiena – лучший выбор.

П. С. — Если вы предпочитаете онлайн курсы по поводу книг или вы хотите узнать у обеих книг, так и в онлайн-курсах, вы также можете проверить мой список Лучшие 5 онлайн-курсов для изучения структуры и алгоритмов данных . Он включает в себя курсы на Java, Python и JavaScript для легкого обучения.

Оригинал: “https://dev.to/javinpaul/10-best-books-to-learn-data-structure-and-algorithms-in-java-python-c-and-c-5743”