Data Science: Алгоритмы и Структуры данных
Открыть в Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество: @oleginc Канал на бирже: https://telega.in/c/structuredata
Больше7 577
Подписчики
-424 часа
-187 дней
-6330 дней
Архив постов
Дерево – это иерархическая структура данных, состоящая из вершин (узлов) и ребер, соединяющих их. Они похожи на графы, но есть одно важное отличие: в дереве не может быть цикла.
Деревья широко используются в искусственном интеллекте и сложных алгоритмах для обеспечения эффективного механизма хранения данных.
Вот изображение простого дерева, и основные термины:
💻 Основные структуры данных
Из видео вы узнаете про самые используемые структуры данных: статический, динамический и ассоциативный (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
Даже если у вас нет диплома мехмата, вы можете успешно работать в IT. Например, крутые аналитики получаются из научных работников, исследователей, продавцов, медиков и других специалистов. Каких ещё — расскажем на вебинаре. А ещё поделимся историями студентов, которые кардинально меняли сферу работы на IT.
→ Бесплатно, 6 июня в 19:00 Мск
Вебинар проведёт Артём Исакин, руководитель трудоустройства в направлении анализа данных Яндекс Практикума.
Вы узнаете:
— из каких 10 профессий чаще всего переходят в анализ данных;
— какие навыки и качества помогают закончить обучение и найти работу;
— как кардинально поменять сферу деятельности;
— как новичкам «переупаковать» прошлый опыт, чтобы понравиться работодателям.
В конце можно будет задать вопросы и попросить совета.
→ Зарегистрироваться на вебинар
Реклама АНО ДПО "Образовательные технологии Яндекса», ИНН:7704282033, erid: LjN8KWuoC
Зачем учить алгоритмы
Новички в программировании часто думают, что изучение алгоритмов никогда не пригодится им на практике.
Поэтому, в этом видео автор называет конкретные причины того, почему вам нужно изучать алгоритмы и подробно рассказывает, что именно вам нужно освоить.
🎬 Смотреть на YouTube
🗓 Подготовительный курс по Python-разработке. 990 рублей. Старт 7 июня.
✔️Научиться понимать код на Python — а не переписывать
✔️Написать конвертер валют — ощутить вкус реального продакшена
✔️Создать основу своего пет-проекта — всего за 14 дней
Вас ждет 70 уроков теории и практики прямо в браузере, вебинары, лайвкодинг и первая собственная программа на Python, написанная под руководством опытного наставника.
Присоеденяйтесь!
Решение 16 задач для подготовки к собеседованию на JS-разработчика
Внутри — разбор задач различной сложности, затрагивающих темы от строк и массивов до различных алгоритмов и ООП:
https://www.youtube.com/watch?v=x-EZy6gu_38
🚀 Пройди подготовку к алгоритмическим собеседованиям!
📌 "Книжного академического образования недостаточно. Книги - это замечательно, но они не помогут вам пройти собеседование. Почему? Подскажу: интервьюверы не видели красно-черных деревье со времен своего обучения в университете. Чтобы успешно пройти собеседование, нужно готовиться на реальных вопросах, встречающихся на собеседованиях" - Лакман Макдауэлл
🗓 4 июня в 18:00 по МСК пройдет бесплатный урок по подготовке к алгоритмическим собеседования от Senior разработчика из Тинькофф (ex-разработчика Яндекс, Huawei)
На открытом уроке решишь >10 задач, изучишь теорию, которая точно пригодится на собеседовании, и сможешь задать вопросы человеку, который успешно прошел алгоритмические секции в OZON, Tinkoff, VK, СБЕР, Яндекс и Авито
Зарегестрироваться
🌳 Деревья и графы: что это такое и почему их обязательно нужно знать каждому программисту
В этой части материала мы рассмотрим деревья и графы, а также теорию, которая стоит за ними. Выполним реализацию на языке Python и покажем, как можно использовать эти понятия на примере челленджей Leetcode.
https://proglib.io/p/derevya-i-grafy-chto-eto-takoe-i-pochemu-ih-obyazatelno-nuzhno-znat-kazhdomu-programmistu-2022-06-13
