Я реализовал Quadtree для сортировки точек на графике. Каждый раз, когда точка попадает в квадрант, который уже содержит точку, этот квадрант снова разделяется, чтобы позволить каждой точке попасть в свой собственный квадрант. Каждый узел имеет следующие атрибуты:
Rectangle bounds; //The bounds of the quadrant
int num = 0; //The number of points in or below this node
Point point; //The point stored in this node. If the quadrant is divided, this is set to null.
Quadtree sub[]; //Pointers to the 4 subdivided quadrants.
Скажем, я хотел просмотреть каждый узел, хранящийся в этом дереве, и подсчитать количество точек, попадающих в границы заданного прямоугольника, как мне рекурсивно проверить каждый узел в дереве (предполагая, что у меня уже есть методы, которые проверить, попадают ли они в определенный регион)?