Всё про Алгоритмы и Структуры данных
Open in Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Show more7 757
Subscribers
+124 hours
-37 days
-2430 days
Posts Archive
☕️ Распространенные алгоритмы и структуры данных в JavaScript: полезные алгоритмы для веб-разработки
Не факт, что веб-разработчику мультипликаторов делать самому, возможно, пузырьковую сортировку, но о часто задаваемых вопросах на собеседованиях. К тому же знание большинства подходов к решению задач позволяет писать более качественный код.
https://proglib.io/p/rasprostranennye-algoritmy-i-struktury-dannyh-v-javascript-osnovnye-ponyatiya-i-rabota-s-massivami-2021-10-06
Расстояние Левенштейна для чайников
https://habr.com/ru/post/676858/
Задача обедающих философов
Эта классическая задача показывает проблемы синхронизации нескольких потоков. Приведём условие:
За круглым столом сидят 5 философов. Перед каждым философом стоит тарелка спагетти, а между тарелками лежит по одной вилке (всего их 5).
В каждый момент философ может:
— поесть (ему необходимо две вилки);
— размышлять (вилки не нужны).
При этом философы не разговаривают между собой. Нужно придумать алгоритм, по которому все философы поедят, и всем хватит вилок.
Вот как можно решить эту задачу на Java (и никто из философов не умрёт от голодания)
Алгоритмы во frontend-разработке
Во фронтенд-разработке постоянно появляются новые задачи, а структура WEB-приложений усложняется. Решать эти задачи можно с помощью знания алгоритмов. В сегодняшнем видео разбираем работу frequency.counter.
https://www.youtube.com/watch?v=PbARzEFo4oM
Выбираемся из лабиринта при помощи алгоритма «поиск в ширину» (BFS) на Python
Давайте поговорим о популярном алгоритме, который называется «Поиск в ширину» (BFS). Затем реализуем этот алгоритм, чтобы найти решение для реальной задачи: как выбраться из лабиринта.
https://habr.com/ru/company/piter/blog/679020/
➕ ➕ 7 сортировок массивов по экспозиции С++ с иллюстрациями
В этой статье мы демонстрируем иллюстрацию, как работают алгоритмы сортировки: от простой пузырьковой до поисковой древовидной кучи. Также определим множественность худших и лучших случаев, а код напишем на С++.
https://proglib.io/p/7-sposobov-sortirovki-massivov-na-primere-s-s-illyustraciyami-2022-04-20
Онлайн-курс «Алгоритмы: теория и практика. Методы»
В бесплатном курсе от Computer Science Center подробно рассмотрены базовые алгоритмические методы:
— жадные алгоритмы;
— метод «разделяй и властвуй»;
— динамическое программирование.
Для прохождения курса нужно знать на базовом уровне хотя бы один язык программирования.
Курс на Stepik: https://stepik.org/course/217/promo
Задумывались ли вы, как получают таблицу судоку?
Её генерируют специальными алгоритмами (а не придумывает какой-то сонный дядя из редакции газеты).
Предлагаем вам реализовать свой генератор судоку 9x9, основа которого — простая базовая сетка, над которой проводится множество преобразований:
https://tprg.ru/g8Um
#алгоритмы #python
Ищем повторяющиеся элементы в массиве
Предположим, вам нужно найти дубликат элемента в массиве. Как бы вы решили эту проблему?
Сначала подумайте, а затем загляните в статью, чтобы узнать о различных способах решения: https://tprg.ru/FtTI
#алгоритмы #java
Курс по программированию классических алгоритмов на C++ для школьников
В школах нередко информатика преподаётся плохо, и учеников практически не знакомят с программированием. Но что делать, если школьник хочет писать свои программы?
Одним из вариантов являются материалы из Интернета, включая онлайн-лекции. Так, в московской школе в 2020 году лектор из МФТИ преподавал реализацию классических алгоритмов на C++. И все уроки курса он выложил в свободный доступ на YouTube:
https://tprg.ru/gqoA
#cpp #алгоритмы
Фантастические графы и какими они бывают
С графами мы часто сталкиваемся в реальном мире. Например, выше — часть карты московского метро, которая представляет собой большой граф с узлами и рёбрами.
Из статьи вы поймёте, из чего состоит граф и на какие виды они делятся:
https://tprg.ru/PIeJ
#алгоритмы #математика
Введение в криптографию и шифрование
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://tprg.ru/KCPw
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
Из-за чего работодатели отказывают начинающим бизнес-аналитикам?
Команда Яндекс Практикума опросила 15 представителей разных компаний, которые собеседуют новичков на должность бизнес-аналитика. Оказалось, многим джунам отказывают, потому что:
— у них мало опыта проведения интервью с заказчиками;
— они не могут разговорить собеседника;
— они не умеют слушать, слышать и понимать людей;
— у них нет критического и структурного мышления;
— они не умеют работать в команде.
Работодатели часто считают, что новичка несложно научить SQL, основным нотациям и другим хардам. А вот учить софтскилам — сложнее и дольше.
На основе опроса Практикум разработал курс для бизнес-аналитиков. Он помогает прокачать харды и софты, которых ждут от новичков работодатели. Студенты проведут около 20 интервью, соберут и опишут требования клиентов, презентуют решения и рассчитают финансовую выгоду. А ещё — поработают в паре с системным аналитиком.
→ Курс можно попробовать бесплатно. Если захотите продолжить — до января включительно действует ранняя цена.
Структура данных «очередь» (queue) — принципы работы
С понятием очереди вы наверняка хорошо знакомы. В программировании она используется для обработки данных, запросов и событий в том порядке, в котором они попали в очередь.
Подробнее об этой структуре данных поясняется в ролике: https://youtu.be/fmHyFTji-Lc
#алгоритмы
Визуализация 10 алгоритмов на графах
Изучаете теорию графов? В статье вы найдёте 10 гифок, которые наглядно покажут принципы работы алгоритмов на графах:
https://tprg.ru/ryXJ
#алгоритмы
Так, например, выглядит поиск в глубину:
Алгоритмы и структуры данных: примеры реализаций на JavaScript
Если вы изучаете JavaScript, загляните в репозиторий на GitHub, в котором собраны реализации структур данных и множества популярных алгоритмов. К каждому алгоритму приложено короткое пояснение, которое поможет разобраться в коде.
Весь материал разделён на два уровня: для начинающих и для продвинутых:
https://github.com/trekhleb/javascript-algorithms
Как разобраться в Computer Science
Computer Science — программирование, математика и всё, что связано с разработкой программного обеспечения.
В этом гайде рассказываем:
— Какие дисциплины следует изучать и почему?
— Какие из доступных ресурсов, книг, серий лекций для конкретной дисциплины имеет смысл посмотреть?
Принципы работы различных видов очередей
Недавно мы разбирали простую очередь как структуру данных. У неё существует также несколько усложнённых версий:
— кольцевая очередь, в которой из элемента в начале очереди извлекаются данные, а затем его переносят в конец очереди;
— очередь с приоритетом, в которой сначала обрабатываются по очереди элементы с наивысшим приоритетом, а затем с меньшим.
Оба типа очередей наглядно разбираются в ролике: https://youtu.be/y_2toG5-j_M
#алгоритмы
Двоичное (бинарное) дерево поиска
Структуры данных «деревья» широко распространены в программировании, например каталог проекта или DOM-дерево в веб-разработке.
Среди них особенно выделяется двоичное дерево поиска, которое позволяет существенно ускорить поиск элементов.
Подробнее о структуре двоичного дерева и его реализации в коде:
https://tprg.ru/YpfD
Available now! Telegram Research 2025 — the year's key insights 
