Post thumbnail

В последнее время все чаще и чаще выходят различные курсы по программированию. И очень часто получается так, что курс, на который вы записались, оказывается очень сомнительного качества. Поэтому мы решили...
Читать дальше

Post thumbnail

Технокубок — это олимпиада по программированию, организованная Mail.Ru Group, МГТУ им. Н. Э. Баумана и МФТИ для учеников 8-11 классов, а также потенциальная возможность попасть в лучшие технические вузы благодаря...
Читать дальше

Post thumbnail

Задача: посчитать N-е число последовательности, в которой каждый элемент равен сумме двух предыдущих. Такая последовательность называется последовательностью Фибоначчи: 1, 1, 2, 3, 5, 8…...
Читать дальше

Post thumbnail

Вам когда-нибудь приходилось гарантировать корректность выполнения своей программы? На самом деле это большой объем работы, который не всегда возможно выполнить. В самих доказательствах могут быть ошибки, об этом говорится и...
Читать дальше

Post thumbnail

Рассказывает Куртис МакЭнроэ  Недавно после длительного времени, проведенного без сна, я задумался над тем, как можно узнать количество дней в месяце, зная его номер. Существуют детские стишки на эту тему,...
Читать дальше

Post thumbnail

Вчера на GitHub появился проект, генерирующий битовые (и тайловые) карты, который сразу привлёк значительное внимание пользователей Reddit. Выглядит действительно круто, и мы решили разобраться, что же делает этот проект, и как он работает....
Читать дальше

Post thumbnail

Чтобы быть хорошим программистом, мало знать синтаксис какого-нибудь языка и хорошо писать код. Когда речь идет о маленьких шаблонных проектах, этого хватит. Но вот вы сталкиваетесь с чем-то по-настоящему серьезным...
Читать дальше

Post thumbnail

Для новичков Граф — это (упрощенно) множество точек, называемых вершинами, соединенных какими-то линиями, называемыми рёбрами (необязательно все вершины соединены). Можно представлять себе как города, соединенные дорогами. Любое клетчатое поле можно...
Читать дальше

Классическая задача. Найдите в данной вам строке максимальную по длине подстроку, которая является палиндромом (то есть читается слева направо и справа налево одинаково). Предложите как можно более эффективный алгоритм....
Читать дальше

Post thumbnail

Знание алгоритмов и структур данных — вот один из ключевых навыков программиста. Промышленные разработчики могут ограничиться и базой: стеки, очереди, хеш-таблицы, алгоритмы сортировки, поиск в глубину и т.д. Но в...
Читать дальше

Post thumbnail

Задача, которую давали на собеседованиях в Apple. Представьте, что вы получили работу кассира в магазине. Ваш босс случайно выяснил, что вы обладаете навыками программиста, и захотел, чтобы вы помогли ему написать...
Читать дальше

Post thumbnail

В данном списке содержится 1584 ссылки: книги, статьи, туториалы, онлайн-курсы, интерактивные обучалки, подкасты — всё только бесплатное. Английский язык считается стандартным, для русскоязычного контента используется отдельная метка. База постоянно пополняется,...
Читать дальше


Код, который работает с числами с плавающей точкой, может выглядеть вполне правильным, но тем не менее производить некорректные вычисления из-за ошибок округления. Вашингтонский университет предлагает решение — Herbie — инструмент...
Читать дальше

Post thumbnail

Как сообщил новостной сайт I-PROGRAMMER, Google теперь использует ИИ для формирования поисковой выдачи. Мало кому известно, что поисковый гигант сейчас мало полагается на алгоритм PageRank (если использует его вообще). Вместо...
Читать дальше

Поиск дубликатов изображений на Python Реализация алгоритма A* для игр Вредные привычки программистов Твиттер-бот на Python, который берет информацию изи Google Spreadsheets gping — ping с графиком Введение в машинное обучение...
Читать дальше

Post thumbnail
Возможности человеческого разума ограничены […] Наша сила — в использовании технологий, которые многократно увеличивают наши когнитивные способности — Дональд Норман Алгоритмы — это отличная область применения визуализации. Для визуализации работы алгоритма не ну...
Читать дальше
Post thumbnail

В этой части мы посмотрим на пять основных алгоритмов сортировки данных в массиве. Начнем с самого простого — сортировки пузырьком — и закончим «быстрой сортировкой» (quicksort). Для каждого алгоритма, кроме...
Читать дальше

Post thumbnail

Множество — это коллекция, которая реализует основные математические операции над множествами: пересечения (intersection), объединение (union), разность (difference) и симметрическая разность (symmetric difference). Каждый из алгоритмов мы разберем в соответствуещем разделе....
Читать дальше

Post thumbnail

До сих пор мы рассматривали структуры данных, данные в которых располагаются линейно. В связном списке — от первого узла к единственному последнему. В динамическом массиве — в виде непрерывного блока. В этой...
Читать дальше

Post thumbnail

В предыдущих частях мы рассматривали базовые структуры данных, которые, по сути, являлись надстройками над массивом. В этой статье мы добавим к коллекциям простые операции и посмотрим, как это повлияет на...
Читать дальше

Post thumbnail

Иногда от коллекции требуется неограниченная вместимость и простота использования списка, но при этом константное время доступа к произвольному элементу, как в массиве. В этом случае используется список на основе массива...
Читать дальше

Post thumbnail

Ученые Массачусетского технологического университета на днях изобрели алгоритм, способный убирать препятствия (вроде заборов и окон) с фотографий. На вход он принимает некоторое количество фотографий, снятых с небольшим смещением относительно друг...
Читать дальше

Post thumbnail

Вне зависимости от того, являетесь ли вы студентом или работающим программистом, и от того, в какой области вы работаете, знание алгоритмов и структур данных необходимо. Это важные строительные блоки для...
Читать дальше

Post thumbnail

Пишет Ларри Хардести | Новостное бюро MIT   Сравнение геномов различных видов или различных представителей одного вида — основа большей части современной биологии. Последовательности ДНК, встречающиеся у разных видов, могут...
Читать дальше


Post thumbnail

Рассказывает Рэй Ли, автор блога raily.net Сегодня я постараюсь простым языком объяснить 10 самых важных алгоритмов интеллектуального анализа данных, по результатам  опросов трех разных групп экспертов в этом исследовании. После того,...
Читать дальше

Post thumbnail

Скоро стартует вторая олимпиада Типичного программиста, и мы решили спросить у экспертов, как можно успешно к подготовится к подобным соревнованиям. Сейчас проводится много разных олимпиад по информатике и программированию. В...
Читать дальше

Post thumbnail

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

Существует много способов решить эту задачу. Мы остановимся только на трех — сортировка, минимум кучи и ранжирование....
Читать дальше

Post thumbnail

Лабиринты — это не только самостоятельный класс игр, но и основа для создания локаций в играх других жанров: например, систем пещер, которые, в свою очередь, могут быть использованы в очень широком...
Читать дальше

В настоящее время существуют методы справедливого совместного использования ресурсов, на основе системы распределения. Наиболее известным является метод деления торта «Ты отрезаешь, я выбираю». Есть также алгоритмы, которые позволяют разделить торт...
Читать дальше

Под отсортированной матрицей будем понимать такую матрицу, строки и столбцы которой отсортированы. Чтобы найти нужный элемент, можно воспользоваться бинарным поиском по каждой строке. Алгоритм потребует O(M log(N)) времени, так как необходимо...
Читать дальше

При выполнении этого задания нельзя использовать дополнительные структуры данных. Один из очевидных вариантов решения состоит в том, чтобы сравнить каждый символ строки с любым другим символом строки. Это потребует О(n²)...
Читать дальше