Adi*_*tya 183 algorithm tree interval-tree graph-algorithm segment-tree
在以下方面,段树,间隔树,二进制索引树和范围树之间有什么区别:
请不要只给出定义.
Lio*_*gan 293
所有这些数据结构都用于解决不同的问题:
一个维度的性能/空间消耗:
(k是报告结果的数量).
在使用场景包括数据更改和查询的意义上,所有数据结构都可以是动态的:
更高的尺寸(d> 1):
icc*_*c97 23
并不是说我可以为Lior的答案添加任何东西,但似乎它可以用一张好桌子.
k
是报告结果的数量
| | Segment | Interval | Range | Indexed |
|--------------|--------------:|-----------:|---------------:|----------:|
|Preprocessing | n logn | n logn | n logn | n logn |
|Query | k+logn | k+logn | k+logn | logn |
|Space | n logn | n | n | n |
| | | | | |
|Insert/Delete | logn | logn | logn | logn |
Run Code Online (Sandbox Code Playgroud)
d > 1
| | Segment | Interval | Range | Indexed |
|--------------|--------------:|-----------:|---------------:|----------:|
|Preprocessing | n(logn)^d | n logn | n(logn)^d | n(logn)^d |
|Query | k+(logn)^d | k+(logn)^d | k+(logn)^d | (logn)^d |
|Space | n(logn)^(d-1) | n logn | n(logn)^(d-1)) | n(logn)^d |
Run Code Online (Sandbox Code Playgroud)
这些表是在Github格式化Markdown中创建的 - 如果需要图像,请参阅Gist.