24 страницы - не понятно откуда темперамент и сколько можно перетирать примитивную задачу, взял скрипт с третьей страницы, т.к. дальше читать нет сил, добавил три строчки, инлайн без функций.
2018.11.1701:44:40.077 ArrayDeleteValue (EURUSD,H1) вариант Pastushak: Контрольная сумма = 496597320; элементов - 999020; время выполнения = 308973 микросекунд
2018.11.1701:44:40.092 ArrayDeleteValue (EURUSD,H1) вариант Korotky: Контрольная сумма = 496597320; элементов - 999020; время выполнения = 11531 микросекунд
2018.11.1701:44:40.107 ArrayDeleteValue (EURUSD,H1) вариант Fedoseev: Контрольная сумма = 496597320; элементов - 999020; время выполнения = 11325 микросекунд
2018.11.1701:44:40.114 ArrayDeleteValue (EURUSD,H1) вариант Semko: Контрольная сумма = 496597320; элементов - 999020; время выполнения = 2819 микросекунд
2018.11.1701:44:40.117 ArrayDeleteValue (EURUSD,H1) вариант Inline: Контрольная сумма = 496597320; элементов - 999020; время выполнения = 2600 микросекунд
странно, но походу победил всех - "за пять минут и без никаких фокусов"(c) и пошел спать...)))
24 страницы - не понятно откуда темперамент и сколько можно перетирать примитивную задачу, взял скрипт с третьей страницы, т.к. дальше читать нет сил, добавил три строчки, инлайн без функций.
странно, но походу победил всех - "за пять минут и без никаких фокусов"(c) и пошел спать...)))
1. Вы взяли непонятно какой давности код, а это прямое неуважения к сообществу; 2. Внесли изменения в код, нагамнокодив где-то внутри, даже не вынося их в отдельную функцию; 3. Затем, по видимому, запустили код на тестирование производительности в DEBUG компиляции, так как и скорость исполнения и результаты не соответствуют RELEASE версии. 4. При этом ваш код содержит ошибки и вообще не решает задачу. (Так как arr[N--] может содержать значение Value, которое не было ни отфильтровано, ни удалено).
Ок. Пока работы нет безумный тест продолжается. Добавил новый тест по вектору и заодно включил @Ivan Negreshniy вариант., смотрите, разбирайте свои ошибки, алгоритм у вас не рабочий.
Вот лучшая версия, использующая двоичный поиск.
Я не говорю по-русски, я использую google translate.Он ведь не русский, трудно поймет. El habla espanol.
Как нужно так и можно вызвать в конечном итоге.
Как нужно так и можно вызвать в конечном итоге.
копию value[] отсортировать при входе в функцию и
с двоичным поиском всё побыстрее будет, тут испанец прав.
копию value[] отсортировать при входе в функцию и
с двоичным поиском всё побыстрее будет, тут испанец прав.
Да не стал я голову забивать себе. По быстрому перекидал. Да и могут быть строковые массивы.
P.S. Надоело это развлечение. Пора делами занятьсякопию value[] отсортировать при входе в функцию и
с двоичным поиском всё побыстрее будет, тут испанец прав.
я бы использовал структуру данных HashSet для значений value.
Сложность будет: O(n) + O(m)
Для предлагаемого бинарного поиска, сложность будет: O(n log(m))
24 страницы - не понятно откуда темперамент и сколько можно перетирать примитивную задачу, взял скрипт с третьей страницы, т.к. дальше читать нет сил, добавил три строчки, инлайн без функций.
странно, но походу победил всех - "за пять минут и без никаких фокусов"(c) и пошел спать...)))
24 страницы - не понятно откуда темперамент и сколько можно перетирать примитивную задачу, взял скрипт с третьей страницы, т.к. дальше читать нет сил, добавил три строчки, инлайн без функций.
странно, но походу победил всех - "за пять минут и без никаких фокусов"(c) и пошел спать...)))
1. Вы взяли непонятно какой давности код, а это прямое неуважения к сообществу;
2. Внесли изменения в код, нагамнокодив где-то внутри, даже не вынося их в отдельную функцию;
3. Затем, по видимому, запустили код на тестирование производительности в DEBUG компиляции, так как и скорость исполнения и результаты не соответствуют RELEASE версии.
4. При этом ваш код содержит ошибки и вообще не решает задачу. (Так как arr[N--] может содержать значение Value, которое не было ни отфильтровано, ни удалено).
Зато пафосом от такого "победителя"...
Ок. Пока работы нет безумный тест продолжается. Добавил новый тест по вектору и заодно включил @Ivan Negreshniy вариант., смотрите, разбирайте свои ошибки, алгоритм у вас не рабочий.
Получилось такое
Небольшая оптимизация
P.S. исправил ошибки и заменил файл