Всё про Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Больше7 757
Подписчики
+124 часа
-37 дней
-2430 день
Архив постов
Курс лекций по дополнительным главам математики
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera).
В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg
Плейлист с лекциями: https://youtube.com/playlist?list=PLlb7e2G7aSpTEzw546U6-Q6_2jt48ym4I
⚡️ Пройдите тест на знание основ алгоритмов и оцените свой уровень.
❗️Тест подходит для любого языка программирования.
💪Сможете сдать – получите запись мастер-класса по алгоритмам повышающий ваш уровень.
📌Еще больше полезных знаний ждет вас на онлайн-курсе «Алгоритмы и структуры данных» в EDAcademy @eda_academy
👉Пройти тест на знание алгоритмов: https://clck.ru/35CqwE
Хотите посмотреть как проходят занятия на курсе? Приходите на бесплатный вебинар, где расскажем про курс.
💡Регистрация на вебинар 08.08 в 19:30 мск: «7 вещей, которые никогда не стоит делать на алгоритмическом собеседовании!» - https://clck.ru/35CqCH.
Регистрируйтесь сейчас - напомним в день вебинара!
📌 Создание игры "Змейка" на С++ (видеокурс)
Как создать игру на чистом C++? В этом видеокурсе вы сделаете простую игру под названием Змейка на чистом C++. Создание игр на C++ — несложное дело, главное — понимание самих алгоритмов.
1. Создание карты
2. Расположение вещей
3. Логика игры
🖥 Разбор алгоритма ML на реальных данных
В этом уроке вы разберёте реальную задачу с настоящими, а не синтетическими данными. Поймёте, как отличать линейную задачу классификации от нелинейного случая. Научитесь просто решать задачу в линейном случае с помощью Python и некоторых несложных математических алгоритмов, о которых вам расскажут прямо в видео.
Самое интересное в этом уроке — это то, что вы явно увидите как работает этот алгоритм на реальных данных и поймёте, что, на самом деле, он достаточно интуитивно понятен.
https://youtu.be/8Nf-QzP4h78
Введение в криптографию и шифрование
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://habr.com/ru/company/yandex/blog/324866/
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
🌌 10 анимированных алгоритмов на графах
Краткое описание десяти основных алгоритмов на графах с визуализацией графов и примерами использования алгоритмов на практике.
https://proglib.io/p/10-animirovannyh-algoritmov-na-grafah-2020-09-09
Дерево – это иерархическая структура данных, состоящая из вершин (узлов) и ребер, соединяющих их. Они похожи на графы, но есть одно важное отличие: в дереве не может быть цикла.
Деревья широко используются в искусственном интеллекте и сложных алгоритмах для обеспечения эффективного механизма хранения данных.
Вот изображение простого дерева, и основные термины:
💻 Основные структуры данных
Из видео вы узнаете про самые используемые структуры данных: статический, динамический и ассоциативный (HashTable) массив.
Видео довольно трудное для новичков, поэтому переходите к просмотру только в том случае, если вы знаете про hash-функции и сложность алгоритмов. А ещё автор говорит очень быстро, поэтому советуем немного размять мозги, чтобы всё освоить
https://www.youtube.com/watch?v=K4sYJHuNgmE
Будущим аналитикам данных и специалистам по DS важно дружить с математикой. Если вы чувствуете, что нужно освежить знания и восполнить пробелы — пройдите курс от Яндекс Практикума.
Он подойдёт тем, кто учится анализу данных или проходит собеседования. Поможем подготовиться ко всем каверзным вопросам и претендовать на оффер в компании, где ценят знания математики.
Курс сделан для людей: не фундаментальный вузовский учебник, но и не научпоп.
◼️ Объясняем сложное простым языком, с примерами и иллюстрациями.
◼️ Вписываем практические задачи в бизнес-кейсы.
◼️ Объясняем, как абстрактные формулы связаны с анализом данных.
◼️ Разбираем типовые задачи из собеседований.
Вы не останетесь один на один с тервером, матаном и линалом. Опытные преподаватели математики всегда на связи в чате, чтобы объяснить непонятное.
Пройдите первый бесплатный урок
Алгоритмы сортировки: зачем они нужны?
Работая с большим массивом данных, с помощью сортировки можно разместить элемент заданного массива в некотором определённом порядке. Например, в интернет-магазине вы можете отсортировать товар по цене, популярности или категории.
Одни алгоритмы помогают сортировать объекты с учётом вводных данных, другие — найти элемент быстрее.
Подробнее здесь:
https://tproger.ru/articles/zachem-nuzhny-algoritmy-sortirovki/
#️⃣ Хэш-таблицы
На этом держатся словари и множества. Знать, как работают хэш-таблицы — не обязательно, но желательно, особенно если вы занимаетесь оптимизацией.
Автор за 10 минут рассказывает, что такое хэш, зачем нужна хэш-функция (и какую лучше выбрать) и как работают сами хэш-таблицы.
https://youtu.be/0UX4MIfOMEs
☕️ Распространенные алгоритмы и структуры данных в JavaScript: полезные алгоритмы для веб-разработки
Не факт, что веб-разработчику мультипликаторов делать самому, возможно, пузырьковую сортировку, но о часто задаваемых вопросах на собеседованиях. К тому же знание большинства подходов к решению задач позволяет писать более качественный код.
https://proglib.io/p/rasprostranennye-algoritmy-i-struktury-dannyh-v-javascript-osnovnye-ponyatiya-i-rabota-s-massivami-2021-10-06
Статистика – деятельность, направленная на получение, обработку и анализ информации, она лежит в основе многих эффективных инструментов анализа данных, например a/b-тестирования. На бесплатном курсе Яндекс Практикума «Основы статистики и A/B-тестирования» вы:
• узнаете основы работы с данными;
• научитесь подбирать корректные способы описания разных переменных и находить взаимосвязи и закономерности между величинами;
• поймёте, как использовать теоретические распределения на практике.
Курс будет вам полезен, если:
Вы хотите стать специалистом по анализу данных
Разберётесь в основах — это упростит и ускорит дальнейшее обучение
Уже работаете в сфере анализе данных
Освежите в памяти теорию и закрепите знания с помощью практических задач
Вы любой другой специалист (от маркетолога до разработчика)
Сможете увереннее чувствовать себя в работе, потому что будете опираться на достоверные данные
Чтобы пройти курс, нужно 10–15 часов — зависит от вашего опыта в анализе данных
Расстояние Левенштейна для чайников
https://habr.com/ru/post/676858/
Классические алгоритмы генерации лабиринтов
Попробуйте свои силы в генерации лабиринтов — интересном проекте, который можно реализовать на любом популярном языке программирования. Работа над проектом отточит ваши навыки кодинга, а результат пригодится, если вы соберётесь в геймдев.
Алгоритм двоичного дерева и алгоритм SideWinner: https://habr.com/ru/post/320140/
Алгоритм Олдоса-Бродера и алгоритм Уилсона: https://habr.com/ru/post/321210/
Задача обедающих философов
Эта классическая задача показывает проблемы синхронизации нескольких потоков. Приведём условие:
За круглым столом сидят 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
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
