Попробуйте: Скользящая медиана в C - реализация Turlach
http://ideone.com/8VVEa
Использование:
Mediator* m = MediatorNew(9);
for (...)
{
MediatorInsert(m, value);
median = MediatorMedian(m);
}
Я считаю, что этотакой же, как алгоритм R, но чище (на самом деле удивительно).
Вы можете либо обернуть это, либо перенести его и использовать Numba (или Cython).Я думаю, что я бы рекомендовал Numba вместо Cython, если ничего другого, потому что это это простой старый код Python.
Я предлагаю добавить это к scikits, если он работает быстрее, чем тот, который уже есть в scikits:)