Я пытаюсь реализовать прямой итератор для дерева квадрантов.К сожалению, мне кажется, что я не могу найти какой-либо ресурс об обходе в квадродереве.
Кто-нибудь может указать мне правильное направление?
Простой способ - линеаризовать дерево.Конечно, вам придется делать это рекурсивно, но вы создадите массив указателей на узлы, которые хотите посетить, а затем создадите прямой итератор из этого.
Взгляните на следующую бумагу и посмотрите, есть ли в ней то, что вам нужно ...
Простые и эффективные методы обхода для квадри и октри
Это моя реализация в javascript: https://github.com/alexroat/quadtree-traversal
Существует визуальная демонстрация, показывающая поведение алгоритма.