1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/awesome-lib-awesome-algorithms

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Онлайн-курсы

Бесплатные курсы по алгоритмам высокого качества онлайн.

  • Abdul Bari — Introduction to Algorithm — этот плейлист очень информативен и предоставляет симуляцию с примерами кода. Как будто вы на уроке.

  • Jenny's Lectures — Algorithm — ещё один полный плейлист алгоритмов от базового уровня до среднего. Простое объяснение и симуляция.

Онлайн-курсы

Бесплатные курсы высокого качества по алгоритмам онлайн

Книги

Самые уважаемые книги для изучения алгоритмов

Алгоритмы и структуры данных

  • Algorithm Design — довольно прямолинейно.

  • Algorithms — проблемы объясняются с помощью Java, ООП, визуализации и бесплатных онлайн-ресурсов.

  • Алгоритмы и структуры данных в JavaScript — классические алгоритмы и структуры данных реализованы и объяснены с использованием JavaScript. Nutshell

https://www.amazon.com/Algorithms-Nutshell-In-OReilly/dp/059651624X — Джордж Т. Хейнеман.

Classic Computer Science Problems in Python

https://www.manning.com/books/classic-computer-science-problems-in-python — в этой замечательной книге представлены десятки задач по кодированию, от простых задач до кластеризации данных с использованием k-средних.

Data Structures and Algorithms Made Easy

https://www.amazon.in/Data-Structures-Algorithms-Made-Easy/dp/819324527X — отличный способ реализовать алгоритмы с их специфическими программируемыми задачами.

Data Structures Using C

http://www.amazon.com/Data-Structures-Using-Aaron-Tenenbaum/dp/0131997467 — основные концепции и способы использования структур данных.

Elementary Algorithms

https://github.com/liuxinyu95/AlgoXY — замечательная книга об алгоритмах и структурах данных.

Grokking Algorithms

http://www.manning.com/bhargava — иллюстрированная книга об алгоритмах с практическими примерами.

Introduction to Algorithms

http://mitpress.mit.edu/books/introduction-algorithms — обязательно!

Real World Algorithms: A Beginner's Guide

http://mitpress.mit.edu/books/real-world-algorithms — введение в алгоритмы для читателей без опыта работы в области высшей математики или информатики.

Swift Algorithms & Data Structures

http://shop.waynewbishop.com — практическое руководство по концепциям, теории и коду.

The Algorithm Design Manual

http://www.algorist.com — легко читается и содержит реальные примеры.

The Art of Computer Programming

http://www-cs-faculty.stanford.edu/~uno/taocp.html — книга.

Structure and Interpretation of Computer Programs

https://mitpress.mit.edu/books/structure-and-interpretation-computer-programs-second-edition

Advanced Algorithms and Data Structures

https://www.manning.com/books/advanced-algorithms-and-data-structures — другой и замечательный способ представить алгоритмы и структуры данных, которые можно использовать на работе.

Algorithmic Puzzles

https://www.amazon.com/Algorithmic-Puzzles-Anany-Levitin/dp/0199740445 — очень наглядная иллюстрация алгоритмов в виде головоломок. Опыт программирования не требуется!

Stanford CS166

https://web.stanford.edu/class/cs166/ — курс Стэнфордского университета по проектированию, анализу и реализации структур данных.

Grokking Data Structures

https://www.manning.com/books/grokking-data-structures — Grokking Data Structures тщательно проведёт вас от самых основных структур данных, таких как массивы или связанные списки, до мощных структур, таких как графы. Это идеально подходит для начинающих.

Анализ алгоритмов

Sedgewick & Flajolet. An Introduction to the Analysis of Algorithm

https://www.amazon.com/Introduction-Analysis-Algorithms-Introdu-Algori_p2-ebook/dp/B00B3TB7IQ — продвинутый полный обзор, предназначенный только для математически зрелых читателей.

McConnell. Analysis of Algorithms

https://www.amazon.com/Analysis-Algorithms-Jeffrey-McConnell/dp/0763707821 — очень доступная и краткая книга по анализу алгоритмов, с включённым реализованным кодом.

Vrajitoru & Knight. Practical Analysis of Algorithms

https://www.amazon.com/Practical-Analysis-Algorithms-Undergraduate-Computer/dp/331909887X — очень доступная и краткая книга по анализу алгоритмов, с включённым реализованным кодом.

Рандомизированные алгоритмы

Motwani & Raghavan. Randomized Algorithms

https://www.amazon.com/Randomized-Algorithms-Rajeev-Motwani/dp/0521474655 — классическая книга.

Mitzenmacher & Upfal. Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis

https://www.amazon.com/Probability-Computing-Randomization-Probabilistic-Techniques-ebook/dp/B06X9YBMFK — стандартный текст о методах вероятности и их применении к рандомизированным алгоритмам.

Шпаргалки

Tech Interview Cheat Sheet

https://github.com/TSiege/Tech-Interview-Cheat-Sheet

Princeton DS Cheat Sheet

https://algs4.cs.princeton.edu/cheatsheet/

CLRS in short

https://sinon.org/algorithms//#data-structures

Rice university DS course in Github Libraries

Online Judges

Онлайн-судьи для практики. Вы узнали выше:

  • A2 Online Judge — онлайн-судья и архив задач.
  • ACM-ICPC Live Archive — сотни задач предыдущих региональных и мировых финалов ACM-ICPC.
  • AIZU ONLINE JUDGE — японский онлайн-судья от Университета Айзу, предлагающий широкий спектр алгоритмических задач.
  • Algo Muse — основанные на исследованиях алгоритмические задачи.
  • AtCoder — веб-сайт японских соревнований по программированию.
  • Baekjoon Online Judge — корейский онлайн-судья. Более 10 000 задач. Поддерживает более 60 языков.
  • Beecrowd — крупнейшая платформа для соревнований по программированию и онлайн-оценки кода в Латинской Америке.
  • CS Academy — проводит онлайн-конкурсы и практические соревнования IOI.
  • CodeChef — больше задач и ежемесячные онлайн-соревнования.
  • Codeforces — единственная платформа для проведения соревнований по программированию Web 2.0.
  • Codefights — практика программирования и подготовка к следующему техническому собеседованию.
  • CodeMarshal — реальные соревнования онлайн!
  • CodeWars — сайт, который предлагает поддержку для решения алгоритмов на многих языках разной сложности.
  • CoderByte — достойный веб-сайт с алгоритмическими задачами от начального до продвинутого уровня. Поддерживает большинство популярных языков, таких как C++, Python, JavaScript, Ruby.
  • Firecode — Firecode.io использует алгоритмы машинного обучения вместе с отобранными реальными вопросами для интервью, решениями и активным социальным сообществом учащихся, чтобы подготовить вас к следующему собеседованию по кодированию.
  • Coding Blocks — веб-сайт, на котором есть задачи, основанные на математике, структурах данных, различных алгоритмах, а также проводятся соревнования по кодированию.
  • HackerEarth — практикуйте алгоритмические задачи и вызовы, участвуйте в соревнованиях по найму.
  • HackerRank — известные алгоритмы и функциональные онлайн-судьи.
  • HiHoCoder — китайский и английский сайты для практики решения задач и отбора.
  • Infoarena — румынский онлайн-судья. 1500+ алгоритмических задач.
  • Interviewbit — учитесь, практикуйтесь и готовьтесь к собеседованиям.
  • Kattis— онлайн-судья и архив задач.
  • LavidaOnlineJudge — корейский онлайн-судья (половина на английском). 1300+ задач.
  • Learneroo Algorithms Tutorials — изучайте и практикуйте алгоритмы, решая задачи онлайн.
  • LeetCode — изучайте алгоритмы и готовьтесь к интервью.
  • Paiza — японская платформа, предлагающая задачи по кодированию и подготовку к карьере.
  • PKU JudgeOnline — китайский онлайн-судья.
  • ProjectEuler — математические задачи, которые можно решить с помощью алгоритмов (или просто карандашом, в зависимости от того, насколько вы уже знаете).
  • Rosalind — платформа для изучения биоинформатики и программирования через решение задач.
  • ShareCode.io — онлайн-судья и организатор конкурсов с большим количеством алгоритмических задач в архиве для практики.
  • Snakify — вводный курс по Python со 100+ алгоритмическими задачами и пошаговым отладчиком (из России).
  • SPOJ — ещё больше задач.
  • TopCoder — множество задач и реальных задач, связанных с деньгами, в области графического дизайна, науки о данных и разработки.
  • Toph — бангладешский онлайн-судья. Регулярно проводит онлайн-турниры.
  • URI — бразильский онлайн-судья. Не так много задач, но он растёт, и у него есть онлайн-турниры. UVA — сотни задач (с предыдущих ACM-ICPC региональных соревнований, мировых финалов и других).

Codility — соревнуйтесь, чтобы получить работу программиста в ведущих компаниях.

Блоги

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

  • Потрясающий блог для всех ресурсов и списка книг и алгоритмов. An awesome list for competitive programming! — потрясающий блог со всеми ресурсами и списком книг и алгоритмов.
  • Хороший блог Петра Митричева, в основном на Java. Algorithms Weekly — хороший блог Петра Митричёва, в основном посвящённый Java.
  • Sport of Programming — информативный блог о начале занятий соревновательным программированием.
  • Для получения более глубоких знаний об алгоритмах и способах мышления в правильном направлении. Algorithms and Data Structures — для получения более глубоких знаний об алгоритмах и способах правильного мышления.
  • Отличный блог Тануджа Хаттара. Algorithm Tutorials by Tanuj Khattar — отличный блог Тануджа Хаттара, посвящённый учебникам по некоторым интересным структурам данных с примерами задач для решения.

Инструменты

Некоторые инструменты, которые могут помочь вам в изучении алгоритмов.

  • interactive-coding-challenges — интерактивные задачи по кодированию (алгоритмы и структуры данных), управляемые тестами.

Связанные потрясающие списки

  • Математика. Math — свободно доступные конспекты лекций по математике.
  • Теоретическая информатика. Theoretical Computer Science — междисциплинарная область математики и информатики, отличающаяся акцентом на математическую технику и строгость.

Лицензия

И ради копилефта вот наша лицензия:

Creative Commons License

Эта работа лицензирована в соответствии с лицензией Creative Commons Attribution 4.0 International License.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Кураторский список замечательных мест, где можно изучать и/или практиковать алгоритмы. Развернуть Свернуть
CC-BY-4.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/awesome-lib-awesome-algorithms.git
git@api.gitlife.ru:oschina-mirror/awesome-lib-awesome-algorithms.git
oschina-mirror
awesome-lib-awesome-algorithms
awesome-lib-awesome-algorithms
master