|
потому как сравнение
if(a > filter[j])
никогда не даст минимальный элемент. А в остальном понятно. Найти N/2+1 минимумов и последний будет медианой. Надо будет (N/2+1)*N проходов массива. Итого имеем квадратичную сложность. Количество сравнений для 5 точек 5+4+3 = 12. При сортировке вставками у меня получилось 10 сравнений и 4 проходов массива. После оптимизации удалось сократить до 8 сравнений. Выигрыш от сортировки очевиден.
Приведенный алгоритм Гошей, наверное, хорош для больших массивов.
Все понятно, спасибо.
E-mail: info@telesys.ru