标签: algorithm search
我有一种情况(性能至关重要),以检查客户帐号是否适合一组有效数字范围(大约一千个)中的任何一个。最有效的方法是什么?如何(以及在何处)存储范围,如何搜索范围?
答案 0 :(得分:2)
您应该考虑使用Segment Tree来执行此操作。
n个区间的集合I的分段树使用O(n log n)存储,并且可以在O(n log n)时间内构建。段树支持搜索包含O(log n + k)中的查询点的所有区间,k是检索到的区间或段的数量。[1]
因此,进行范围查询非常有效。