Рубрика «algorithms»

Привет!

То, что будет происходить ниже – сущий ад. Я буду писать простейшие программы на языке Whitespace (Но не такие простые, как в прошлой статье). Этот язык настолько ненужный, что оригинальный сайт с интерпретатором для этого языка уже давно мертв, все ссылки на оригинальные гайды, соответственно – тоже. Но, слава интернету, у нас есть webarchive, который и дал мне возможность скачать исходники 2х версий этого языка на Haskell, а также парочку бинарников под линух. Также отрыл пару онлайн-интерпретаторов, которые уже использовал в предыдущей статье.

Читать полностью »

Поделить нельзя — умножить или алгоритм быстрого деления по методу Ньютона-Рафсона - 1

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

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

Заглядываем под капот FrozenDictionary: насколько он быстрее Dictionary и почему - 1

С релизом .NET 8 в арсенале C# разработчиков появилась новая коллекция – FrozenDictionary. Особенность этого словаря в том, что он неизменяемый, но при этом обеспечивает более быстрое чтение по сравнению с обычным DictionaryЧитать полностью »

Учимся летать: симуляция эволюции на Rust. 4-5 - 1

Это предпоследняя часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.

В сегодняшнем выпуске:

Сексуальные многоугольники

Учимся летать: симуляция эволюции на Rust. 4-5 - 2

Сертифицированные ISO диаграммы ASCII

------------
| ...%....|
|   ......|
|    @>....|
|      ...|
|        .|
------------

Клевые числа

Учимся летать: симуляция эволюции на Rust. 4-5 - 3

Читать полностью »

История началась с разбора использования ресурсов приложением, которое занимается проксированием. Обнаружили, что довольно много времени оно тратит на выбор маршрута (роута), и решили ускорить этот процесс. Описанная в статье оптимизация не требует каких-то особых вложений, усилий или условий, поэтому приведенный код можно забрать к себе и использовать без каких-либо чрезмерных вмешательств.

Ускорение роутера в Django в 51 раз - 1

Роутер

Читать полностью »

Фильтр Блума - 1

У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

Читать полностью »

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Статистика с leetcode на дату 12.01.2024

Статистика с leetcode на дату 12.01.2024

Читать полностью »

Сумачечая производительность LINQ в .Net7 - 1

Исторически так сложилось, что LINQ взыскал сомнительную репутацию за его слабую производительность. LINQ медленный, аллоцирует память, сложно читается, поэтому обычно его используют как инструмент запросов к БД и то, зачастую сложные запросы легче написать на SQL. Даже на собеседованиях джунов просят не использовать LINQ в алгоритмах.

Читать полностью »

О чем эта статья

Это продолжение моих похождений по ФААНГ. Предыдущая статья была о моем опыте собеседования в Амазоне: https://habr.com/ru/post/646319/.

Здесь я тоже поделюсь всем процессом: как я попал на собеседование, все этапы, вопросы на интервью, как я готовился, некоторые детали офера, и общее впечатление от интервью. Также будут всякие сравнения опыта собеседования в Майкрософте и в Амазоне.

К слову, все собеседования тоже сейчас проходят онлайн, и никаких онсайт интервью нет.

Предложение в Линкедине

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js