Реализуем на Python поиск в ширину в клетчатом лабиринте
В видео объясняется, как создать в консоли клетчатый лабиринт и реализовать в нём поиск в ширину. Весь код пишется на Python:
https://youtu.be/Pizaog2s32M
В видео объясняется, как создать в консоли клетчатый лабиринт и реализовать в нём поиск в ширину. Весь код пишется на Python:
https://youtu.be/Pizaog2s32M
YouTube
Кратчайший путь в клеточном лабиринте | Скринкасты | MADE Академия данных | #2
В этом выпуске мы рассмотрели базовый алгоритм поиска кратчайшего пути в графах — обход в ширину — на наглядном примере поиска кратчайшего пути в клетчатом лабиринте. Написали код на языке Python. А на десерт написали восстановление ответа.
Григорий Шовкопляс…
Григорий Шовкопляс…
👍6
Что такое задача коммивояжёра?
В математике и программировании задача коммивояжёра является классической. Суть её проста:
Нужно найти самый короткий маршрут между городами, чтобы посетить каждый город хотя бы один раз и вернуться домой.
С малым количеством городов задача кажется простой, но её сложность растёт быстрыми темпами при увеличении числа городов. Разбираемся, почему так:
https://telegra.ph/CHto-takoe-zadacha-kommivoyazhyora-03-31
В математике и программировании задача коммивояжёра является классической. Суть её проста:
Нужно найти самый короткий маршрут между городами, чтобы посетить каждый город хотя бы один раз и вернуться домой.
С малым количеством городов задача кажется простой, но её сложность растёт быстрыми темпами при увеличении числа городов. Разбираемся, почему так:
https://telegra.ph/CHto-takoe-zadacha-kommivoyazhyora-03-31
Telegraph
Что такое «задача коммивояжёра»
Статья написана для Журнала «Код» В 19-м и 20-м веке по городам ездили коммивояжёры (сейчас их называют «торговые представители»). Они ходили по домам и предлагали людям купить разные товары. Тактика была такой: коммивояжёр приезжал в город, обходил большинство…
👍18🔥2
Введение в криптографию и шифрование
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://habr.com/ru/company/yandex/blog/324866/
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
Когда-то материал из этой лекции читали в МГУ целых полгода. Поэтому в статье автор не углублялся в работу шифров и рассказал об общих терминах в криптографии и шифровании, а также разобрал простым языком несколько алгоритмов шифрования:
https://habr.com/ru/company/yandex/blog/324866/
Лекция на YouTube: https://youtu.be/mE_s-R5wvpw
Хабр
Введение в криптографию и шифрование, часть первая. Лекция в Яндексе
Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или...
👍12
Алгоритмы и структуры данных: примеры реализаций на JavaScript
Если вы изучаете JavaScript, загляните в репозиторий на GitHub, в котором собраны реализации структур данных и множества популярных алгоритмов. К каждому алгоритму приложено короткое пояснение, которое поможет разобраться в коде.
Весь материал разделён на два уровня: для начинающих и для продвинутых:
https://github.com/trekhleb/javascript-algorithms
Если вы изучаете JavaScript, загляните в репозиторий на GitHub, в котором собраны реализации структур данных и множества популярных алгоритмов. К каждому алгоритму приложено короткое пояснение, которое поможет разобраться в коде.
Весь материал разделён на два уровня: для начинающих и для продвинутых:
https://github.com/trekhleb/javascript-algorithms
GitHub
GitHub - trekhleb/javascript-algorithms: 📝 Algorithms and data structures implemented in JavaScript with explanations and links…
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings - trekhleb/javascript-algorithms
👍12❤1
🖥 Разбор алгоритма ML на реальных данных
В этом уроке вы разберёте реальную задачу с настоящими, а не синтетическими данными. Поймёте, как отличать линейную задачу классификации от нелинейного случая. Научитесь просто решать задачу в линейном случае с помощью Python и некоторых несложных математических алгоритмов, о которых вам расскажут прямо в видео.
Самое интересное в этом уроке — это то, что вы явно увидите как работает этот алгоритм на реальных данных и поймёте, что, на самом деле, он достаточно интуитивно понятен.
https://youtu.be/8Nf-QzP4h78
В этом уроке вы разберёте реальную задачу с настоящими, а не синтетическими данными. Поймёте, как отличать линейную задачу классификации от нелинейного случая. Научитесь просто решать задачу в линейном случае с помощью Python и некоторых несложных математических алгоритмов, о которых вам расскажут прямо в видео.
Самое интересное в этом уроке — это то, что вы явно увидите как работает этот алгоритм на реальных данных и поймёте, что, на самом деле, он достаточно интуитивно понятен.
https://youtu.be/8Nf-QzP4h78
👍8
🧠 Как решать задачи на программирование во время собеседований
Обычно компании предлагают 2 типа задач при собеседовании: либо онлайн-тест с ограничением по времени, либо решение задач оффлайн.
Про то, как работать во всех этих ситуациях, чтобы не запороть собеседование, автор рассказывает в этом видео.
https://youtu.be/QSHeNgvKcWk
Обычно компании предлагают 2 типа задач при собеседовании: либо онлайн-тест с ограничением по времени, либо решение задач оффлайн.
Про то, как работать во всех этих ситуациях, чтобы не запороть собеседование, автор рассказывает в этом видео.
https://youtu.be/QSHeNgvKcWk
YouTube
Как решать задачи на программирование во время собеседований
Сайты для тренировки навыков решения задач на кодирование:
https://leetcode.com/
https://www.hackerrank.com/
https://www.codewars.com/
0:00 Вступление
1:25 Какие задачи дают на интервью
1:58 Как решать такие задачи?
2:32 ШАГ 1 | Понять задачу
4:01 ШАГ 2…
https://leetcode.com/
https://www.hackerrank.com/
https://www.codewars.com/
0:00 Вступление
1:25 Какие задачи дают на интервью
1:58 Как решать такие задачи?
2:32 ШАГ 1 | Понять задачу
4:01 ШАГ 2…
👍11
📄Шпаргалка по алгоритмам и структурам данных
Сохраняй себе и делись с другом!
Сохраняй себе и делись с другом!
👍20
📌 Создание игры "Змейка" на С++ (видеокурс)
Как создать игру на чистом C++? В этом видеокурсе вы сделаете простую игру под названием Змейка на чистом C++. Создание игр на C++ — несложное дело, главное — понимание самих алгоритмов.
1. Создание карты
2. Расположение вещей
3. Логика игры
Как создать игру на чистом C++? В этом видеокурсе вы сделаете простую игру под названием Змейка на чистом C++. Создание игр на C++ — несложное дело, главное — понимание самих алгоритмов.
1. Создание карты
2. Расположение вещей
3. Логика игры
YouTube
Создание игры на C++ / Змейка - Урок #1 (Создание карты)
Как создать игру на чистом C++? В этом видео курсе мы с вами сделаем простую игру под названием Змейка на чистом C++. Создание игр на C++ это не сложное дело, главное понимание самих алгоритмов.
Урок на сайте itProger: https://itproger.com/course/cpp-snake…
Урок на сайте itProger: https://itproger.com/course/cpp-snake…
🔥9👍3
Классические алгоритмы генерации лабиринтов
Попробуйте свои силы в генерации лабиринтов — интересном проекте, который можно реализовать на любом популярном языке программирования. Работа над проектом отточит ваши навыки кодинга, а результат пригодится, если вы соберётесь в геймдев.
Алгоритм двоичного дерева и алгоритм SideWinner: https://habr.com/ru/post/320140/
Алгоритм Олдоса-Бродера и алгоритм Уилсона: https://habr.com/ru/post/321210/
Попробуйте свои силы в генерации лабиринтов — интересном проекте, который можно реализовать на любом популярном языке программирования. Работа над проектом отточит ваши навыки кодинга, а результат пригодится, если вы соберётесь в геймдев.
Алгоритм двоичного дерева и алгоритм SideWinner: https://habr.com/ru/post/320140/
Алгоритм Олдоса-Бродера и алгоритм Уилсона: https://habr.com/ru/post/321210/
Хабр
Классические алгоритмы генерации лабиринтов. Часть 1: вступление
Предисловие На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить...
👍10
Курс лекций по дополнительным главам математики
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera).
В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg
Плейлист с лекциями: https://youtube.com/playlist?list=PLlb7e2G7aSpTEzw546U6-Q6_2jt48ym4I
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera).
В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg
Плейлист с лекциями: https://youtube.com/playlist?list=PLlb7e2G7aSpTEzw546U6-Q6_2jt48ym4I
YouTube
Лекция 1. Кучи
https://compscicenter.ru
Лекция №1 курса «Дополнительные главы алгоритмов, часть 1» (осень 2019).
Преподаватель — Павел Юрьевич Маврин
Страница лекции на сайте CS центра: https://bit.ly/2NA2kAD
Лекция №1 курса «Дополнительные главы алгоритмов, часть 1» (осень 2019).
Преподаватель — Павел Юрьевич Маврин
Страница лекции на сайте CS центра: https://bit.ly/2NA2kAD
👍20❤1
Продолжение курса по дополнительным главам алгоритмов
Недавно мы делились первой частью этого курса. Вторая часть лекций рассматривает уже более продвинутый уровень:
— кратчайшие пути в графах;
— потоки, паросочетания;
— алгоритмы на строках;
— структуры данных для быстрой работы с целыми числами;
— быстрое преобразование Фурье.
В первой лекции разбираются алгоритмы для работы со строками: https://youtu.be/-tGa1Fckif8
Плейлист со всеми лекциями на YouTube: https://youtube.com/playlist?list=PLlb7e2G7aSpR7yew2YAzfbhFQL8_-G1UT
Недавно мы делились первой частью этого курса. Вторая часть лекций рассматривает уже более продвинутый уровень:
— кратчайшие пути в графах;
— потоки, паросочетания;
— алгоритмы на строках;
— структуры данных для быстрой работы с целыми числами;
— быстрое преобразование Фурье.
В первой лекции разбираются алгоритмы для работы со строками: https://youtu.be/-tGa1Fckif8
Плейлист со всеми лекциями на YouTube: https://youtube.com/playlist?list=PLlb7e2G7aSpR7yew2YAzfbhFQL8_-G1UT
Telegram
Data Science: Алгоритмы и Структуры данных
Курс лекций по дополнительным главам математики
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов…
Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов…
👍6
Насколько хорошо вы знаете алгоритмы?
Проверьте себя в этом тесте:
https://tproger.ru/quiz/algorithms/
Проверьте себя в этом тесте:
https://tproger.ru/quiz/algorithms/
👍5🤯4🔥1
Уроки по алгоритмам сортировки в Python
Хотите разобраться в алгоритмах сортировки? Ролики ниже помогут не только освоить теорию основных алгоритмов сортировки, но и научиться их реализовывать на Python:
1. Сортировка пузырьком.
2. Сортировка слиянием.
3. Быстрая сортировка.
4. Сортировка подсчётом.
Хотите разобраться в алгоритмах сортировки? Ролики ниже помогут не только освоить теорию основных алгоритмов сортировки, но и научиться их реализовывать на Python:
1. Сортировка пузырьком.
2. Сортировка слиянием.
3. Быстрая сортировка.
4. Сортировка подсчётом.
YouTube
Сортировка пузырьком в python. Bubble sort in Python
🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
https://stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
https://t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
https://t.me/python_egoroff
Условие задачи
https://stepik.org/…
https://stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
https://t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
https://t.me/python_egoroff
Условие задачи
https://stepik.org/…
👍9🔥1
Как работают алгоритмы сортировки? Разбираем с примерами на Python
Мы рассмотрели в статье наиболее популярные методы сортировки, а также сравнили их по времени исполнения.
Сохраняйте в закладки, чтобы не забыть: https://tprg.ru/VHC5
Мы рассмотрели в статье наиболее популярные методы сортировки, а также сравнили их по времени исполнения.
Сохраняйте в закладки, чтобы не забыть: https://tprg.ru/VHC5
Tproger
Объяснение алгоритмов сортировки с примерами на Python
В этой статье рассмотрены популярные алгоритмы, принципы их работы и реализация на Python. Также сравним, как быстро они сортируют элементы в списке.
👍3
Словари и их методы в Python
Структура данных словарь хранит в себе пары «ключ-значение». При этом одному ключу может соответствовать целое множество значений.
На практики в словари могут записываться, например:
— имя и оценка студентов;
— название и цена товаров;
— название и численность населения городов.
Подробнее о словарях, а также методах работы с ними:
https://tproger.ru/explain/python-dictionaries/
Структура данных словарь хранит в себе пары «ключ-значение». При этом одному ключу может соответствовать целое множество значений.
На практики в словари могут записываться, например:
— имя и оценка студентов;
— название и цена товаров;
— название и численность населения городов.
Подробнее о словарях, а также методах работы с ними:
https://tproger.ru/explain/python-dictionaries/
👍9
Что послушать: подкаст об алгоритмах и собеседованиях
Сегодня мы предлагаем послушать подкаст, где бывший сотрудник «Яндекса» Алексей Шаграев рассказал, какие алгоритмы используются в командах и почему на собеседовании задают много вопросов про алгоритмы.
Алексей имеет за плечами много опыта в собеседовании разработчиков, поэтому в подкасте много историй из реальной жизни:
soundcloud.com/podlodka/podlodka-195-algoritmy-i-sobesedovaniya
Сегодня мы предлагаем послушать подкаст, где бывший сотрудник «Яндекса» Алексей Шаграев рассказал, какие алгоритмы используются в командах и почему на собеседовании задают много вопросов про алгоритмы.
Алексей имеет за плечами много опыта в собеседовании разработчиков, поэтому в подкасте много историй из реальной жизни:
soundcloud.com/podlodka/podlodka-195-algoritmy-i-sobesedovaniya
SoundCloud
Podlodka #195 – Алгоритмы и собеседования
Вращаешь красно-черное дерево, проходишь алгоритмический собес, а потом… Внезапно на работе этим заниматься не нужно! Зачем тогда такие вопросы задают на собеседованиях? И вообще, нужно ли знать алгор
👍11
Forwarded from Data Science: Алгоритмы и Структуры данных
Что почитать: «Алгоритмы. Построение и анализ» Т.Кормена и Ч.Лейзерсона
Must-have книга для любого разработчика. Начинающим программистам не обязательно читать её всю, а изучить в первую очередь виды сортировок, элементарные структуры данных, двоичные деревья и хеш-таблицы. Тем более алгоритмы разбиты по самодостаточным главам, поэтому к книге можно возвращаться время от времени, чтобы подтянуть знания.
Обзор книги - https://tprg.ru/KO4u
Must-have книга для любого разработчика. Начинающим программистам не обязательно читать её всю, а изучить в первую очередь виды сортировок, элементарные структуры данных, двоичные деревья и хеш-таблицы. Тем более алгоритмы разбиты по самодостаточным главам, поэтому к книге можно возвращаться время от времени, чтобы подтянуть знания.
Обзор книги - https://tprg.ru/KO4u
👍8
Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете.
Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s
Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s
YouTube
Решето Эратосфена – алгоритм определения простых чисел. Решение задачи на Python
Решето Эратосфена – это алгоритм, оставляющий в ряду натуральных чисел только простые числа.
Первым простым числом считается двойка.
Здесь зачеркнуты составные числа. А 2, 3, 5, 7, 11, 13, 17 являются простыми, их нельзя разделить ни на какое предшествующее…
Первым простым числом считается двойка.
Здесь зачеркнуты составные числа. А 2, 3, 5, 7, 11, 13, 17 являются простыми, их нельзя разделить ни на какое предшествующее…
👍7🔥7
Структура данных пирамида (двоичная куча) в Java
Пирамида представляет собой дерево значений. Значение узлов в неё больше или равно значениям узлов-потомков. Поэтому верхний элемент всегда будет иметь максимальное значение
Подробнее о пирамиде и её реализации на Java:
https://javarush.ru/groups/posts/3083-strukturih-dannihkh-piramida-dvoichnaja-kucha-v-java
Пирамида представляет собой дерево значений. Значение узлов в неё больше или равно значениям узлов-потомков. Поэтому верхний элемент всегда будет иметь максимальное значение
Подробнее о пирамиде и её реализации на Java:
https://javarush.ru/groups/posts/3083-strukturih-dannihkh-piramida-dvoichnaja-kucha-v-java
👍8
Действительно ли компьютер генерирует случайное число?
Алгоритмы, которые мы используем в своих программах для генерации случайных чисел, на самом деле выдают не совсем случайные значения. В основе генератора псевдослучайных чисел (ГПСЧ) лежит семя (seed), от которого отталкивается алгоритм.
Но существуют и другие варианты поиска случайного числа. С ними и ГСПЧ вы можете ознакомиться в статье:
https://nuancesprog.ru/p/14619/
Алгоритмы, которые мы используем в своих программах для генерации случайных чисел, на самом деле выдают не совсем случайные значения. В основе генератора псевдослучайных чисел (ГПСЧ) лежит семя (seed), от которого отталкивается алгоритм.
Но существуют и другие варианты поиска случайного числа. С ними и ГСПЧ вы можете ознакомиться в статье:
https://nuancesprog.ru/p/14619/
👍9🔥1