Типичный программист
81.4K subscribers
2.67K photos
894 videos
8 files
7.45K links
Всё самое интересное по программированию

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
Ловите целый бесплатный ​курс лекций по алгоритмам, который поможет прокачаться в работе с большими наборами данных.

Из курса вы узнаете о теоретических (модели вычислений, иммутабельность и персистентность, хеширование и не только) и практических (задача о кратчайших путях, RMC, LCA) аспектах алгоритмов. Последнее обновление курса — меньше месяца назад: https://tprg.ru/xMH7

#алгоритмы #курсы
Интересный инструмент, который позволяет ​​​​​визуализировать поиск пути в клетчатом лабиринте

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

Исходники проекта открыты, поиграться можно тут: https://qiao.github.io/PathFinding.js/visual/

#opensource #алгоритмы #инструменты
​Алгоритмическая секция на собеседовании: на что обращать внимание?

Алгоритмические задачи — частые гости на собеседованиях. И здесь мало просто написать корректный код за небольшое количество времени, надо ещё и объяснить, как он работает.

И вот несколько дельных советов, которые в этом помогут: https://habr.com/ru/company/avito/blog/662922/

#алгоритмы #собеседование
Что почитать на выходных: «Совершенный алгоритм. Основы»

Если давно собирались разобраться с алгоритмами, то вот вам знак. Книга — отличное введение в основы алгоритмов. Много практики, упражнений на закрепление материала и разборов решений. Особенно приятно, что объяснение не привязано к каком-либо языку программирования.

#алгоритмы #книги
​​Алгоритмы сортировки — одна из самых популярных тем на собеседованиях

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

Давайте разбираться: https://tproger.ru/articles/zachem-nuzhny-algoritmy-sortirovki/

#задачки #собеседование #алгоритмы
Что почитать на выходных: «Эффективные алгоритмы и сложность вычислений» Н. Кузюрина и С. Фомина

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

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

#алгоритмы #книги
Что-то временно, что-то постоянно, а что-то — алгоритмы и структуры данных

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

Как лучше всего их изучать? Рассказываем: https://tproger.ru/experts/how-to-learn-algorithms/

#алгоритмы
Кстати про алгоритмы сортировки

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

— Зачем вообще нужны алгоритмы сортировки и как часто на самом деле их применяют на практике (кроме собеседований, разумеется): https://tproger.ru/articles/zachem-nuzhny-algoritmy-sortirovki/

— Как лучше изучать алгоритмы: https://tproger.ru/experts/how-to-learn-algorithms/

— Большой бесплатный и, самое главное, свежий ​курс лекций по алгоритмам: https://tprg.ru/xMH7

— Крутой инструмент, который позволяет вкратце понять, как именно и с какой скоростью работают разные алгоритмы сортировки при разных стартовых условиях: https://tprg.ru/xGsk

— Бонус. Поясняем за StackSort — мемную сортировку массива через Stack Overflow: https://tproger.ru/articles/stacksort/

#алгоритмы #сортировка #инструменты #курсы
Media is too big
VIEW IN TELEGRAM
Времена идут, визуализации алгоритмов сортировки становятся всё более странными, но всё же продолжают быть очень залипательными

И вот очередная визуализация 19-ти алгоритмов сортировки. На этот раз на примере круга.

Кстати, если вдруг захотели реализовать что-то подобное (а это отличная практика как в алгоритмах, так и в программировании), вот исходники проекта: https://github.com/CompilerStuck/sorting-visualizer

#сортировка #алгоритмы
10 зрелищных и простейших клеточных автоматов

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

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

В статье собрали много визуализаций простейших клеточных автоматов и рассказали, как они устроены: https://habr.com/ru/post/718620/

#начинающим #алгоритмы
А нужны ли на самом деле алгоритмы и структуры данных?
Или это просто страшилки для собеседований?

Показали на примерах, как и когда применяются алгоритмы и структуры данных в реальных проектах, таких как Uber, Skype и Skyscanner.

А вот, но уже на английском, про то, как строит свои алгоритмы поиска Netflix.

#алгоритмы
Структуры данных могут быть пугающими. Особенно во фронтенде и особенно для самоучек

Но с толковым объяснением всё не так уж страшно. Вот материал, который поможет в этом разобраться.

Статья на английском, но написана простым языком, а главное — в ней много примеров.

#фронтенд #алгоритмы
Полезен ли сегодня быстрый обратный квадратный корень из Quake III?

В 2005 году id Software опубликовала исходный код игры Quake III Arena 1999 года. В файле code/game/q_math.c есть функция для вычисления обратного квадратного корня числа. Об этом алгоритме написано множество статей, и ему даже посвящена страница Википедии.

И вот одна из таких статей, в которой рассказывают, что делает алгоритм, почему он такой особенный и зачем он нужен в Quake III.

#история #алгоритмы
Old but gold: книги по алгоритмам и структурам данных не для манки-кодеров

Вы больше не сможете смотреть на привычные вещи так же, как раньше. У вас больше не будет тарелок в раковине, а будет стек. А очередь в поликлинике вдруг станет очередью с приоритетом, ведь те, кому «просто спросить», почему-то проходят первыми.

После того, как вы прочитаете нашу подборку книг по алгоритмам и структурам данных, ваша жизнь изменится навсегда: https://tproger.ru/books/algorithms-data-structures-books/

#алгоритмы #книги
​​Что-то временно, что-то постоянно, а что-то — алгоритмы и структуры данных

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

Как лучше всего их изучать? Рассказываем: https://tproger.ru/experts/how-to-learn-algorithms/

Объяснение каждой структуры с примерами кода и полезными видео(для C++, csharp, go, java, javascript, Python): https://algodaily.com/lessons/an-executable-data-structures-cheat-sheet/python

Для старта изучения алгоритмов: рекомендуем начать со всеми известной книги «‎Грокаем алгоритмы»‎

#алгоритмы
Как выбрать оптимальный маршрут для автомобиля или определить самый выгодный вариант перелёта с учетом возможных пересадок? Во всех подобных случаях Алгоритм Дейкстры предлагает эффективное решение задачи поиска в графе кратчайших путей от заданной вершины.

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

А в этой статье мы более подробно объяснили принцип его работы и показали, как его реализовать на C++: https://tproger.ru/articles/algoritm-dejkstry--kak-rabotaet-i-gde-ispolzuetsya

#алгоритмы
​​Полное руководство по 30 ключевым структурам данных и алгоритмам

Держите статью, включающую 15 наиболее важных структур данных и 15 ключевых алгоритмов. Этот материал поможет вам успешно подготовиться к собесу или просто расширить навыки программирования. 

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

#dsa #алгоритмы
Нашёл огромную библиотеку алгоритмов с открытым исходным кодом

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

Кстати, языков на этом ресурсе реально много — от популярных, по типу Python, Java и C#, до более нишевых, таких как R и Scala.

Полезно будет всем, так что берём на заметку

#алгоритмы
This media is not supported in your browser
VIEW IN TELEGRAM
Представьте, что у вас есть огромная куча носков, которую (зачем-то) нужно разделить на несколько кучек поменьше

Чтобы понять как, надо знать алгоритмы сортировки или кластеризации, но сегодня только про первое. А эта подборка статей нам в этом поможет:

Для чего и как лучше изучать алгоритмы.

Алгоритмы сортировки: основы, виды и задачи разного уровня сложности.

Большой бесплатный ​курс по алгоритмам.

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

#алгоритмы