首页 > 代码库 > 每周一题——坐标点范围查询

每周一题——坐标点范围查询

在平面坐标系中有若干点P={p[1],p[2],…,p[n]},点p[i]的坐标为(p[i].x,p[i].y),给定一个位置范围R=(west, east, south, north),
求P中所有符合条件west < p[i].x < east,south < p[i].y < north的点p[i]构成的集合PR的过程,称为范围查询。
请设计一个利于查询的数据结构,及相应的构造和查询算法,使范围查询能够快速执行。
注:构造是指将输入数据P从数组格式转换为你所设计的数据结构格式的过程。查询的算法复杂度要尽量低,构造过程的算法复杂度可以略高。
       N可能非常大,不可以使用遍历所有N个点的方式进行查询。