Небольшая поправка:
Небольшая, но ценная!
простой, но когда итемов в исходном 150-200 , а надо 10-25 то уже как то изыбточно удалять лишние итемы.
Второй способ - от обратного, делай пустой Target и обходя дерево заполняй его, добавляя те саме 10-25 нужных узлов...
Тут ничего не придумаешь при всём желании, разве что генетический алгоритм напишешь, который будет из каких-нибудь хитрых соображений формировать область памяти...