Всё про Алгоритмы и Структуры данных
8.77K subscribers
300 photos
30 videos
5 files
1.47K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
🖥 Разбор алгоритма ML на реальных данных

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

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

https://youtu.be/8Nf-QzP4h78
🧠 Как решать задачи на программирование во время собеседований

Обычно компании предлагают 2 типа задач при собеседовании: либо онлайн-тест с ограничением по времени, либо решение задач оффлайн.

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

https://youtu.be/QSHeNgvKcWk
📄Шпаргалка по алгоритмам и структурам данных

Сохраняй себе и делись с другом!
​Классические алгоритмы генерации лабиринтов

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

Алгоритм двоичного дерева и алгоритм SideWinner: https://habr.com/ru/post/320140/

Алгоритм Олдоса-Бродера и алгоритм Уилсона: https://habr.com/ru/post/321210/
​Курс лекций по дополнительным главам математики

Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera).

В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg

Плейлист с лекциями: https://youtube.com/playlist?list=PLlb7e2G7aSpTEzw546U6-Q6_2jt48ym4I
​Продолжение курса по дополнительным главам алгоритмов

Недавно мы делились первой частью этого курса. Вторая часть лекций рассматривает уже более продвинутый уровень:

— кратчайшие пути в графах;
— потоки, паросочетания;
— алгоритмы на строках;
— структуры данных для быстрой работы с целыми числами;
— быстрое преобразование Фурье.

В первой лекции разбираются алгоритмы для работы со строками: https://youtu.be/-tGa1Fckif8

Плейлист со всеми лекциями на YouTube: https://youtube.com/playlist?list=PLlb7e2G7aSpR7yew2YAzfbhFQL8_-G1UT
Как работают алгоритмы сортировки? Разбираем с примерами на Python

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

Сохраняйте в закладки, чтобы не забыть: https://tprg.ru/VHC5
Словари и их методы в Python

Структура данных словарь хранит в себе пары «ключ-значение». При этом одному ключу может соответствовать целое множество значений.

На практики в словари могут записываться, например:
— имя и оценка студентов;
— название и цена товаров;
— название и численность населения городов.

Подробнее о словарях, а также методах работы с ними:

https://tproger.ru/explain/python-dictionaries/
Что послушать: подкаст об алгоритмах и собеседованиях

Сегодня мы предлагаем послушать подкаст, где бывший сотрудник «Яндекса» Алексей Шаграев рассказал, какие алгоритмы используются в командах и почему на собеседовании задают много вопросов про алгоритмы.

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

soundcloud.com/podlodka/podlodka-195-algoritmy-i-sobesedovaniya
​Что почитать: «Алгоритмы. Построение и анализ» Т.Кормена и Ч.Лейзерсона

Must-have книга для любого разработчика. Начинающим программистам не обязательно читать её всю, а изучить в первую очередь виды сортировок, элементарные структуры данных, двоичные деревья и хеш-таблицы. Тем более алгоритмы разбиты по самодостаточным главам, поэтому к книге можно возвращаться время от времени, чтобы подтянуть знания.

Обзор книги - https://tprg.ru/KO4u
Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете.

Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s
Структура данных пирамида (двоичная куча) в Java

Пирамида представляет собой дерево значений. Значение узлов в неё больше или равно значениям узлов-потомков. Поэтому верхний элемент всегда будет иметь максимальное значение

Подробнее о пирамиде и её реализации на Java:

https://javarush.ru/groups/posts/3083-strukturih-dannihkh-piramida-dvoichnaja-kucha-v-java
Действительно ли компьютер генерирует случайное число?

Алгоритмы, которые мы используем в своих программах для генерации случайных чисел, на самом деле выдают не совсем случайные значения. В основе генератора псевдослучайных чисел (ГПСЧ) лежит семя (seed), от которого отталкивается алгоритм.

Но существуют и другие варианты поиска случайного числа. С ними и ГСПЧ вы можете ознакомиться в статье:

https://nuancesprog.ru/p/14619/
9 Важных алгоритмов машинного обучения