一种更新和查询多维数组子数组的新算法
数据结构与算法
2016-08-05 v6
摘要
给定一个 维数组 ,更新操作将给定常数 加到 的连续子数组内的每个元素上。查询操作计算 的连续子数组内所有元素的总和。一维更新和查询处理问题已被深入研究,通常使用带有延迟传播技术的线段树来解决。本文提出了一种结合二叉索引树 (Binary Indexed Trees) 和容斥原理 (Inclusion-Exclusion Principle) 的新算法来完成相同任务。我们将该算法扩展至更新和查询矩阵(二维数组)的子矩阵。最后,我们提出了该算法的 维通用形式,其更新和查询的时间复杂度均为 。这优于先前已知的利用四叉树和八叉树等分层数据结构的算法,后者的每次更新/查询的最坏情况时间复杂度为 。
引用
@article{arxiv.1311.6093,
title = {A New Algorithm for Updating and Querying Sub-arrays of Multidimensional Arrays},
author = {Pushkar Mishra},
journal= {arXiv preprint arXiv:1311.6093},
year = {2016}
}
备注
14 Pages, 3 Figures, 1 Table