为什么点区域四叉树搜索(用于碰撞检测)是线性时间?

Why is a Point-Region Quadtree search (for collision detection) linearithmic time?

四叉树完全创建后,为什么比较操作(用于n对象的碰撞检测)需要线性n log(n)时间?节点按 region/quadrant 递归拆分,搜索将向下扫描树,修剪掉不在搜索坐标内的路径,最终在碰撞节点的边界内找到或找不到目标节点。每次操作都是比较一个分区n,好像是log(n)次,不是n log(n).

要找到 n 个物体的所有碰撞(以及揭示最坏情况下的任何一次碰撞),应该执行大约 n 个动作 - 检查每个物体的附近。

如您所写,每次此类检查都需要 O(logn) 时间,因此总时间达到 O(nlogn)