Вот мое понимание этого: 1. Проведите рекурсию вниз по дереву, взяв левое или правое поддерево в зависимости от того, будет ли ELEMENT лежать в левом или правом поддереве, если он существует. 2. Установите CURRENT_BEST в качестве первого достижимого конечного узла. 3. Во время рекурсии проверьте, находится ли ELEMENT ближе к разделяющей гиперплоскости, чем к CURRENT_BEST. Если это так, установите CURRENT_BEST в качестве текущего узла.
Это часть, которую я получил из Википедии и моего класса, а часть - нет. понять: 4. Проверить, не находится ли какой-либо узел в другом поддереве точки разделения, выделенной в 3., ближе к ELEMENT, чем точка разделения.
Я не понимаю, почему нам нужно делать 4., поскольку любая точка, которая может лежать в одном поддереве узла разбиения, обязательно должна быть ближе к узлу разбиения, чем к любой точке в другом поддереве.
Очевидно, что мое понимание алгоритма ошибочно, поэтому помощь будет принята с благодарностью.