I've effectively implemented the same thing in a subvi just a moment ago.
It's a while loop which runs, and creates an array of indices to remove from the original array. The algorithm is
INDEX_TO_REMOVE = LAST_INDEX_REMOVED - round(1.01^i)
LAST_INDEX_REMOVED starts at ARRAY_SIZE
1.01 is a fraction to be fine tuned
"i" is the while loop index.
The part which takes a long time is remove the entries one by one... i still need help with that.
I guess what you suggested simply keeps entries, whereas i've been removing them. I'll try to reverse my method, to reduce the time it takes.
Thanks