Типичный программист
82K subscribers
2.66K photos
773 videos
8 files
8.14K links
Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Другие наши проекты: https://tprg.ru/media
Download Telegram
Введение в связанные списки

Связные списки — это линейно сгруппированные наборы данных, состоящие из узлов, в которых содержатся данные и указатели.

В этой статье подробно разбираемся, как они работают:

https://tprg.ru/mhFD

#алгоритмы #javascript
Как лучше всего изучать алгоритмы?

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

Но как изучить их все и не запутаться? Спросили у экспертов: https://tprg.ru/G94U

#алгоритмы
Если хотите проверить свои знания в самых разных направлениях в IT-индустрии, вот целая вам подборка годных тестов с нашего сайта:

— Блокчейн: https://tproger.ru/quiz/blockchain-with-waves/
— Серверная инфраструктура: https://tproger.ru/quiz/choose-infrastructure-dataline/
— Пентестинг: https://tproger.ru/quiz/pentesting/
— ИИ: https://tproger.ru/quiz/test-your-knowledge-of-ai/
Алгоритмы: https://tproger.ru/quiz/algorithms/
— Проверка на программиста: https://tproger.ru/quiz/real-programmer/

А посмотреть вообще все тесты можно в этом разделе: https://tproger.ru/quiz/

#тест #безопасность #ии #алгоритмы #блокчейн
Что почитать на выходных: «Алгоритмы. Справочник. С примерами на C, C++, Java и Python», 2-е издание

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

#алгоритмы #книги #си #cpp #java #python
Ловите целый бесплатный ​курс лекций по алгоритмам, который поможет прокачаться в работе с большими наборами данных.

Из курса вы узнаете о теоретических (модели вычислений, иммутабельность и персистентность, хеширование и не только) и практических (задача о кратчайших путях, 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

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

#алгоритмы