Data Science: Алгоритмы и Структуры данных
Kanalga Telegram’da o‘tish
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
Ko'proq ko'rsatish7 575
Obunachilar
-424 soatlar
-187 kun
-6330 kun
Postlar arxiv
Ключевые алгоритмические парадигмы для решения нестандартных задач
В спортивном программировании для решения задач используются ключевые алгоритмические парадигмы, на базе которых реализуется алгоритм решения:
— полный поиск;
— жадный алгоритм;
— «разделяй и властвуй»;
— динамическое программирование.
Подробнее о парадигмах (с примерами на C++): https://tprg.ru/Q8bw
Структура данных «связный список»
Связные списки по сравнению с массивами хороши тем, что могут хранить произвольное количество объектов. При этом сами объекты имеют внутри ссылку на следующий объект в списке (односвязный список), а также на предыдущий объект, если список двусвязный.
Подробнее о связных списках и их методах:
https://tproger.ru/translations/linked-list-for-beginners/
Действительно ли компьютер генерирует случайное число?
Алгоритмы, которые мы используем в своих программах для генерации случайных чисел, на самом деле выдают не совсем случайные значения. В основе генератора псевдослучайных чисел (ГПСЧ) лежит семя (seed), от которого отталкивается алгоритм.
Но существуют и другие варианты поиска случайного числа. С ними и ГСПЧ вы можете ознакомиться в статье:
https://nuancesprog.ru/p/14619/
Считается, что аналитика и Data Science — сложные сферы, требующие особого склада ума. В реальности же основные языки работы с данными — SQL и Python — можно изучить, не имея технического образования или опыта в программировании.
Каждый может найти себя в сфере аналитики и Data Science и подобрать себе направление по душе. Главное — задаться целью, быть любопытным и правильно спланировать погружение в новую профессию. В этом поможет бесплатный пошаговый гайд «Как войти в сферу данных и выбрать своё направление».
В гайде:
- Полное описание ролей и компетенций в сфере работы с данными — так вы поймёте, с чего начать свой путь в профессию
- Чек-листы навыков, необходимые начинающему аналитику данных, системному аналитику, дата-сайентисту и другим представителям сферы данных
- Ссылки на полезные ресурсы, книги и бесплатные курсы
- Советы HR-специалистов о том, как правильно составить резюме и наработать портфолио
- Рейтинг зарплат для начинающих позиций в проектах по аналитике и Data Science
Скачать план → https://netolo.gy/b4Af
Реклама. ООО «Нетология» LatgC9sxY
Структура данных пирамида (двоичная куча) в Java
Пирамида представляет собой дерево значений. Значение узлов в неё больше или равно значениям узлов-потомков. Поэтому верхний элемент всегда будет иметь максимальное значение
Подробнее о пирамиде и её реализации на Java:
https://javarush.ru/groups/posts/3083-strukturih-dannihkh-piramida-dvoichnaja-kucha-v-java
Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете.
Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s
Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете.
Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s
Что почитать: «Алгоритмы. Построение и анализ» Т.Кормена и Ч.Лейзерсона
Must-have книга для любого разработчика. Начинающим программистам не обязательно читать её всю, а изучить в первую очередь виды сортировок, элементарные структуры данных, двоичные деревья и хеш-таблицы. Тем более алгоритмы разбиты по самодостаточным главам, поэтому к книге можно возвращаться время от времени, чтобы подтянуть знания.
Обзор книги - https://tprg.ru/KO4u
Что послушать: подкаст об алгоритмах и собеседованиях
Сегодня мы предлагаем послушать подкаст, где бывший сотрудник «Яндекса» Алексей Шаграев рассказал, какие алгоритмы используются в командах и почему на собеседовании задают много вопросов про алгоритмы.
Алексей имеет за плечами много опыта в собеседовании разработчиков, поэтому в подкасте много историй из реальной жизни:
soundcloud.com/podlodka/podlodka-195-algoritmy-i-sobesedovaniya
Словари и их методы в Python
Структура данных словарь хранит в себе пары «ключ-значение». При этом одному ключу может соответствовать целое множество значений.
На практики в словари могут записываться, например:
— имя и оценка студентов;
— название и цена товаров;
— название и численность населения городов.
Подробнее о словарях, а также методах работы с ними:
https://tproger.ru/explain/python-dictionaries/
Как работают алгоритмы сортировки? Разбираем с примерами на Python
Мы рассмотрели в статье наиболее популярные методы сортировки, а также сравнили их по времени исполнения.
Сохраняйте в закладки, чтобы не забыть: https://tprg.ru/VHC5
Иногда аналитику или специалисту по DS нужно подтянуть что-то по математике, чтобы решать более сложные задачи на работе. На курсе Яндекс Практикума можно раз и навсегда разобраться с тервером, линалом, матаном и статистикой. А потом — расти в карьере.
Учёбу удобно совмещать с работой: теория и практика будут в интерактивном тренажёре, который можно скачать на смартфон. А опытные преподаватели математики всегда на связи в чате, чтобы объяснить непонятное.
За 4 месяца обучения вы:
→ решите более тысячи задач в онлайн-тренажёре,
→ создадите 4 проекта для своего портфолио,
→ подготовитесь к собеседованиям с помощью симулятора.
Пройдите первый бесплатный урок
Уроки по алгоритмам сортировки в Python
Хотите разобраться в алгоритмах сортировки? Ролики ниже помогут не только освоить теорию основных алгоритмов сортировки, но и научиться их реализовывать на Python:
1. Сортировка пузырьком.
2. Сортировка слиянием.
3. Быстрая сортировка.
4. Сортировка подсчётом.
Насколько хорошо вы знаете алгоритмы?
Проверьте себя в этом тесте:
https://tproger.ru/quiz/algorithms/
Курс лекций по дополнительным главам математики
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на 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
