Introduction
z-order、Lebesgue curve、Morton space-filling curve、Morton order or Morton code map等函数用于将多维数据映射到一个维度,同时能够保留数据点的位置。
OI选手应该比较熟悉,一维化降低复杂度的手段会比较常用 算法中最常用的可能是根据行顺序对数组一维化,
z-order curve
z-order的想法是通过交错坐标值的二进制位计算压缩坐标,那么结果可以表示为quadtree或octree的深度优先遍历所得到的顺序。
比如上图这个七行七列的矩阵,蓝色的表示x轴对应的值,红色的则表示在y轴的坐标值,很明显的交错位
z-order可以用于构造四叉树(2D)或八叉树(3D)
这里以四叉树为例