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

 
Sergey Dzyublik:

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

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


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

 

Я изменил параметры теста (для новой задачи), чтобы отразить соотношение уникальных чисел 2: 1 к уникальным фильтрам.
Файлы:
 

Небольшие изменения.

P.S. слегка поправил

Файлы:
 

Проект открытый ArrayDeleteValue.
Развлекаемся дальше

P.S. Разнесены все функции по файлам. Проще править каждому свое

 

Хочу всех искренне поблагодарить от всего своего сердца, за 10 лет я не видел более продуктивной ветки на этом форуме!
Огромное спасибо всем, за Ваше внимание, за конкретные примеры, за конструктивное общение!
На мой взгляд эта ветка может стать примером тому, как нужно общаться и помогать друг другу!
Еще раз большое спасибо!

 👍👍👍👍👍👍👍👍

 

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


Короче, кто писал код поймет, полезно это или ошибка, а проффесора не обижайтесь, но сайт то, не для вас...:)

Очистка массива от заданного (ых) элементов
Очистка массива от заданного (ых) элементов
  • 2018.11.16
  • www.mql5.com
Есть массив содержащий набор данных по типу 1,2,3,6,9,5,6,3,25,6,8,7,4 нужно удалить например значения 3 и на выходе получить тот же массив без 3 и...
 
Ivan Negreshniy:

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


Короче, кто писал код поймет, полезно это или ошибка, а проффесора не обижайтесь, но сайт то, не для вас...:)

я где-то выше намекал, что нет смысла вообще в контрольной сумме. Есть входящие данные, есть эталонный результат.
Надо итоги проходов сравнивать с имеющимся, заведомо верным эталоном. Что КС считать O(n) что сравнить два массива O(n), выигрыш только в скорейшем получении примерного результата . Экспериментатор чуть раньше(на пару-тройку секунд/минут)
отсеивает точно неверные результаты.

 
Konstantin Nikitin:

Проект открытый ArrayDeleteValue.
Развлекаемся дальше

P.S. Разнесены все функции по файлам. Проще править каждому свое

на разных машинах разный результат,отличающийся почти в двое, поэтому даже не ясно есть ли вообще смысл в этом

Ivan Negreshniy:

Короче, кто писал код поймет, полезно это или ошибка, а проффесора не обижайтесь, но сайт то, не для вас...:)

вы не правы , но наверное чтоб это понять нужно читать ветку перед тем как в неё заходить" с ноги "

 
Ivan Negreshniy:

...

Ага, а в остальном прекрасная маркиза, все хорошо, все хорошо...

 
Stanislav Dray:

на разных машинах разный результат,отличающийся почти в двое, поэтому даже не ясно есть ли вообще смысл в этом

вы не правы , но наверное чтоб это понять нужно читать ветку перед тем как в неё заходить" с ноги "

если по правильному надо сравнить два алгоритма об одном и том-же,  ТО

- строятся графики . Если при изменении условий (объёма массива например) алг. А нарисованный зелёным явно обыгрывает Б нанесённый синим, можно сделать вывод что алг.А "быстрее".

- тут-же заметите что скорость зависит не только от объёма исходного массива, но и от кол-ва удаляемых элементов и даже их расположения.

- то есть графики получаются как минимум двух-мерными (это поверхности) и надо ещё смотреть краевые случае

как-бы так :-)

Причина обращения: