Очистка массива от заданного (ых) элементов - страница 28

 
Nikolai Semko:
Что конкретней не устраивает?

Блин, правильно ли решена задача, или есть ньюансы. Не только время правит бал. 

 
Алексей Тарабанов:

Не знаю, как ответить Вам по-Китайски. 

Займитесь-ка лучше воспитанием внуков...
 
Алексей Тарабанов:

Блин, правильно ли решена задача, или есть ньюансы. Не только время правит бал. 

Конечно же там куча нюансов. Нет смысла решать эту задачу досконольно и основательно, т.к. это чисто учебная задача и практического применения пока не видно.
 
Nikolai Semko:
Займитесь-ка лучше воспитанием внуков...

Спасибо за  ответ не Вам. 

 
Алексей Тарабанов:

Спасибо за  ответ не Вам. 

Заметьте, не я первый начал. Я лишь обороняюсь.:))
С бумерангом нужно поаккуратнее.
 
Nikolai Semko:
Конечно же там куча нюансов. Нет смысла решать эту задачу досконольно и основательно, т.к. это чисто учебная задача и практического применения пока не видно.

Это задача "от балды" Именно такие задачи имеет смысл решать досконально и основательно. 

 
Алексей Тарабанов:

Это задача "от балды" Именно такие задачи имеет смысл решать досконально и основательно. 

Ну так за чем же дело встало? Предложите свой досконально-основательный вариант. А я еще не дорос до такого уровня. Накалякал все что смог 
 

заменил расчет суммы на CRC32 )

Циклический избыточный код — Википедия
  • ru.wikipedia.org
Понятие циклические коды достаточно широкое[3]. В англоязычной литературе CRC понимается двояко в зависимости от контекста: Cyclic Redundancy Code или Cyclic Redundancy Check[4]. Под первым понятием подразумевают математический феномен циклических кодов, под вторым — конкретное применение этого феномена как хэш-функции. Первые попытки создания...
Файлы:
 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Очистка массива от заданного (ых) элементов

nicholi shen, 2018.11.17 03:58

Sergey Dzyublik:

я бы использовал структуру данных HashSet для значений value.
Сложность будет: O(n) + O(m)

Для предлагаемого бинарного поиска, сложность будет: O(n log(m))

1. Какую библиотеку вы используете для хэш-наборов?
2.Те, что я видел для MQL, медленнее, чем двоичный поиск ...


1. Ни  какую библиотеку для HashSet не использовал.
Это просто теоретический подход к решению проблемы.

2. К реализации от MQL было много вопросов. Но их задача универсальность, а не максимальная скорость для примитивных типов.


В зависимости от входных параметров задачи, будут меняться значения констант для сложности алгоритмов.
Как следствие более медленный по сложности алгоритм в определенных входных условиях может выдавать скорость работы больше, чем более быстрый по сложности алгоритм.

 
Nikolai Semko:

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

По сути вами используется структура данных статический HashSet с исходным массивом данных для решения коллизий.
Но реализация - просто вырви глаз...

Вместо вызова функции ("FindValueInSortArray") с 100-500 ненужных параметров, обычно используют класс, где эти параметры выступают в виде полей класса (выигрыш на передаче параметров, если компилятор не додумался сделать implicit inline).
Если имеется нужда использовать пару массивов одинакового размера и с одной целью применения ( int p1[]; int p2[];) обычно используют массив структуры (выигрыш на доступе по индексу, уменьшение шанса cache miss).
Причина обращения: