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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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