Согласно улучшенным алгоритмам массовой загрузки для деревьев квадрантов, сортировка координат в Z-порядок перед вставкой приведет к ускорению пакетной вставки QuadTree.
Мне нужна реализация z-порядка на С++. У меня есть координаты x, y как double
. Решение здесь, в Википедии, для Z-Order-Curves мне немного непонятно.
EDIT - предположения Координаты, которые у меня есть, находятся в координатах Google и представляют собой числа с плавающей запятой. В системе, которую мы в настоящее время разрабатываем, мы предполагаем, что любая большая часть (партия), которую нужно вставить, помещается в ОЗУ. Мы не предполагаем необходимости внешних операций сортировки с переключением между диском и памятью.
EDIT 2 в связи с тем, что Z-порядок работает только для целых чисел, я думаю, что хитрость заключается в умножении на 10, пока все данные не будут целыми числами. Как только я это сделаю, как выполнить z-порядок по точкам?