Арбитражная торговля (Алгоритм Беллмана — Форда)

Торговля на бирже обычно ассоциируется с рисками. Это совершенно верно для большинства торговых стратегий. Успешность торговли в этих случаях определяется исключительно способностью верно оценивать риски и управлять ими. Но не все торговые стратегии таковы. Существуют безрисковые стратегии, к которым относится, в частности, арбитраж. В этой ПОДРОБНЕЕ

Алгоритм Гровера - квантовые вычисления

Задача Предположим, у нас есть крупная база данных из N элементов. Мы хотим найти один из элементов, например p, по ID, скажем w. Используя классические вычисления, нужно было бы проверить около N/2 элементов, чтобы найти совпадение с w, а в худшем случае и все N. ПОДРОБНЕЕ

Все что нужно знать о древовидных структурах данных

Когда вы впервые учитесь кодировать, общепринято изучать массивы в качестве «основной структуры данных». В конце концов, вы также изучаете хэш-таблицы. Для получения степени по «Компьютерным наукам» (Computer Science) вам придется походить на занятия по структурам данных, на которых вы узнаете о связанных списках, очередях и ПОДРОБНЕЕ

Celery throttling — настраивам rate limit для очередей

​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit’a. В качестве примера я возьму python и свою любимую связку Celery+RabbitMQ, хотя алгоритм, который ПОДРОБНЕЕ

Почему люди проваливают собеседования по алгоритмам и структурам данных в крупных компаниях?

Компьютерные науки — это область с огромными возможностями. Миллионы студентов всего мира мечтают построить карьеру в этой сфере. Но возникает неожиданная проблема: несмотря на то, что существует огромное количество обучающих ресурсов, большинству студентов не удаётся стать хорошими специалистами и удачно пройти собеседование. Опираясь на свой опыт работы ПОДРОБНЕЕ

Завораживающая последовательность Фибоначчи

Занимаясь изучением обработки данных, расчётами, а также другими компьютерными и математическими операциями, мы сталкиваемся со многими алгоритмами. Несмотря на то, что иногда мы недолюбливаем математику, мы зачастую даже не подозреваем, что окружены великим множеством вещей, идеально сбалансированных по ее принципам самой природой. Одним из таких ПОДРОБНЕЕ

8 базовых алгоритмических задач на собеседованиях

Во время собеседования на должность в IT-сфере часто касаются вопросов применения алгоритмов. Наиболее популярными являются алгоритмы поиска и сортировки (строковые алгоритмы, бинарный поиск, алгоритм поиска на графах). Несмотря на кажущуюся простоту, они бывают коварны и трудны в реализации под конкретную задачу. Вот почему важно заранее ПОДРОБНЕЕ

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

В последние годы алгоритмы для решения задач автоматического планирования и диспетчеризации стали вновь популярными в области машинного обучения. Понимание принципов их работы поможет увеличить производительность ваших моделей. К тому же, благодаря разработке таких мощных вычислительных технологий, как квантовых компьютеров, вскоре вновь будет использоваться искусственный интеллект, ПОДРОБНЕЕ

Решение алгоритмических проблем: Поиск повторяющихся элементов в массиве

Этот пост является частью серии статей о том, как решать алгоритмические проблемы. Из собственного опыта, я понял, что большинство авторов просто пошагово расписывают решение проблемы. Отсутствие обобщённого представления о проблеме, не позволяет понять её и найти эффективное решение. Исходя из этого понимания, цель данной серии: ПОДРОБНЕЕ

Бинарное дерево на Go для новичка

Введение В этой статье мы сосредоточимся на том, как деревья бинарного поиска могут быть реализованы на Go и почему они предпочтительнее линейных структур данных, таких как массивы и связанные списки. Пока мы думаем о том, почему деревья имеют преимущество над массивами и списками, рассмотрим основные ПОДРОБНЕЕ