Алгоритмы — TechCave

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

Алгоритм — набор инструкций, описывающих порядок действий исполнителя для достижения некоторого результата. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

Стена группы

Загрузка...
5 дней назад
#

Как написать на ассемблере программу с перекрываемыми инструкциями (ещё одна техника обфускации байт-кода)



Представляем вашему вниманию технику создания ассемблерных программ с перекрываемыми инструкциями, – для защиты скомпилированного байт-кода от дизассемблирования. Эта техника способна противостоять как статическому, так и динамическому анализу байт-кода. Идея состоит в том, чтобы подобрать такой поток байтов, при дизассимблировании которого начиная с двух разных смещений – получались две разные цепочки инструкций, то есть два разных пути выполнения программы. Мы для этого берём многобайтовые ассемблерные инструкции, и прячем защищаемый код в изменяемых частях байт-кода этих инструкций. С целью обмануть дизассемблер, пустив его по ложному следу (по маскирующей цепочке инструкций), и уберечь от его взора скрытую цепочку инструкций.





Источник
Загрузка...
8 месяцев назад
#

Что читают инженеры GridGain. Книги для тех, кто интересуется In-Memory Computing



Не так давно у нас в корпоративном чате развернулась баталия по поводу бумажных книг и книг вообще. Оказалось, что, несмотря на популярность блогов и обучающих видео, любителей полистать хорошую книгу на читалке, или даже в бумаге, у нас достаточно много. Тем более, к некоторым книгам хочется иногда возвращаться, чтобы уложить всё в голове или поискать решение конкретной задачи.



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

Источник
Загрузка...
8 месяцев назад
#

Что общего у собеседования кодера и игры «Змейка»?





Если вы родились в 80-х или 90-х, то наверняка слышали о
Snake. То есть, скорее всего, вы потратили
безумное количество времени на своём Nokia 3310, выращивая огромную змею на мелком экранчике. Что ещё мы помним о телефонах Nokia?

Их неразряжающийся аккумулятор, правда? Как такой «примитивный» телефон выдерживал долгие часы игры в «Змейку» без разрядки аккумулятора?

Короткий (и неполный) ответ: всё дело в методе
скользящего окна.

Мы бы с радостью написали целую статью о
Snake, но в этом посте мы всё-таки рассмотрим менее зрелищный, но тем не менее очень важный метод, и ответим на вопросы типа:

  • Почему мы и другие программисты считаем его фундаментальным алгоритмом?

  • Почему он так часто используется на технических собеседованиях?

  • Как он использовался в Snake и других «реальных» областях применения?

  • На какие самые популярные вопросы собеседований можно (лучше) ответить с помощью метода скользящего окна?



Если вы готовитесь к собеседованию, читаете статью из интереса, или хотите узнать что-то новое, то продолжайте читать. При этом вы можете спокойно пропускать лишнее и переходить к самым интересным разделам.

NB: Если вас волнует только
«Змейка» (и мы вас вполне понимаем), то можете перейти к самому концу поста.

Источник
Загрузка...
Den
8 месяцев назад
#

Максимально просто про перебор комбинаций в реальных бизнес-задачах



Если начать искать материал про перебор комбинаций, возникает масса примеров как перебрать все сочетания всех букв или всех цифр. Но как создать все сочетания элементов матрицы, в которой заранее неизвестна размерность, не углубляясь в Иосифа Романовского и его «Дискретный Анализ», такого материала я не нашел, поэтому и решил написать его здесь. Вдруг кому-то понадобится.

Источник
Загрузка...
8 месяцев назад
#

Мой любимый алгоритм: нахождение медианы за линейное время



image

Нахождение медианы списка может казаться тривиальной задачей, но её выполнение за линейное время требует серьёзного подхода. В этом посте я расскажу об одном из самых любимых мной алгоритмов — нахождении медианы списка за детерминированное линейное время с помощью медианы медиан. Хотя доказательство того, что этот алгоритм выполняется за линейное время, довольно сложно, сам пост будет понятен и читателям с начальным уровнем знаний об анализе алгоритмов.

Источник
Загрузка...

Авторизация

Пользователи

Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD
Эрик Имашев
Амир Исмагилов