Почему так тяжело учиться программировать

В наше время существуют тысячи возможностей научиться программировать: множество бесплатных книг, видеоуроков, онлайн-курсов на любую тему, связанную с программированием, даже целые сайты для поиска и решения любого типа задач, с…

Обложка поста
Обложка поста

Алгоритмы интеллектуального анализа данных

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

Реализуйте алгоритм для однонаправленного списка с петлёй, возвращающий начальный узел петли

Эта задача является разновидностью классической задачи, задаваемой на собеседованиях, – определить, содержит ли связный список петлю. Давайте используем подход «Сопоставление с образцом». Часть 1. Определяем, есть ли в связном списке…

Алгоритм, демонстрирующий круг знакомств человека для социальных сетей

Предположим, что нам требуется разработать алгоритм, демонстрирующий связи человека с человеком, но при условии, что база очень большая. Например, для использования в Facebook или LinkedIn. Хороший способ решить эту задачу…

Обложка поста

3D-принтеры — что это такое и где можно попробовать

Трехмерная печать за последнее время из почти фантастики превратилась в достаточно обыденную вещь. С развитием технологии и ростом разрешения 3D-принтеры находят более широкое применение в различных сферах: от биопротезирования до печати…

Разработка алгоритма, обнаруживающего в массиве все пары целых чисел, сумма которых равна заданному значению.

Эту задачу можно решить двумя способами. Выбор определяется компромиссом между эффективностью использования времени, памяти или сложностью кода. Простое решение Очень простое и эффективное (по времени) решение — создание хэш-таблицы, отображающей…

Обложка поста

Алгоритм, реализующий следующее условие: если элемент матрицы в точке NxM равен 0, то весь столбец и вся строка обнуляются.

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

Уменьшаем размер исполняемого файла Nim со 160 КБ до 150 Б

Кажется, размер бинарных файлов в языке Nim недавно стал популярной темой для обсуждения. Слоган языка Nim: «Выразительно, эффективно, элегантно», и сейчас мы опробуем его эффективность, разобрав несколько вариантов уменьшения размера обычного…

Золотая пирамида — задача про треугольник, составленный из чисел

В этом выпуске рассмотрим классическую задачу, известную под названием «Золотая гора». На CheckiO её реализовали в этой задаче. Представьте себе треугольник, составленный из чисел. Одно число расположено в вершине. Ниже размещено два…

Обложка поста

Бесконечная лента

Создатели проекта бесконечной ленты поделились с нами некоторыми фактами из разработки.  Передаём им слово. Основная информация о разработке Основным элементом интернет-проекта является лента, состоящая из «пикселей», которыми являются фотографии участников. Когда…

Сайты, которые помогут вам улучшить навыки программирования

Программирование во многом связано с вашей способностью придумывать новые и интересные идеи; но иногда, из-за большого количества времени, потраченного на решение общих проблем, мы забываем о креативности. Для того, чтобы помочь…

Обложка поста