(data) structures
DESCRIPTION
(Data) STRUCTURES. Mihai P ătra ș cu. LSD. reachability oracles in the butterfly. partial match. (1+ ε )-ANN ℓ 1 , ℓ 2. NN in ℓ 1 , ℓ 2. dyn. marked ancestor. 3-ANN in ℓ ∞. 2D stabbing. worst-case union-find. dyn. trees, graphs. 4D reporting. 2D counting. dyn. 1D stabbing. - PowerPoint PPT PresentationTRANSCRIPT
(Data) STRUCTURES
Mihai Pătrașcu
LSD
dyn. marked ancestor
reachability oracles in the butterfly
partial match (1+ε)-ANN ℓ1, ℓ2
NN in ℓ1, ℓ23-ANN in ℓ∞
worst-caseunion-find dyn. trees, graphs
dyn. 1D stabbing
partial sums
2D stabbing
4D reporting 2D counting
dyn. NN in 2D
dyn. 2D reporting
LSD
dyn. marked ancestor
reachability oracles in the butterfly
partial match (1+ε)-ANN ℓ1, ℓ2
NN in ℓ1, ℓ23-ANN in ℓ∞
worst-caseunion-find dyn. trees, graphs
dyn. 1D stabbing
partial sums
2D stabbing
4D reporting 2D counting
dyn. NN in 2D
dyn. 2D reportingbetter bound
simpler, same bound
simpler, loses lglg n
How Hard is Range Reporting?SELECT * FROM employeesWHERE salary <= 70000 AND startdate <= 1998
70000
69000
68000
71000
Static, 2D: O(lglg n)[Alstrup, Brodal, Rauhe
FOCS’00]Dynamic, 2D: Ω(lg n / lglg n)
[Alstrup,Husfeldt, Rauhe FOCS’98]
How Hard is Range Reporting?Static, 2D: O(lglg n)
[Alstrup, Brodal, Rauhe FOCS’00]
Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe
FOCS’98]Marked Ancestor: * mark(v) / unmark(v)
* query(v): ? ∃marked ancestor
Dyn. 1D Stabbing: * insert/delete segment * query(x): does
x stab a segment?
Dyn. 2D Range Reporting
How Hard is Range Reporting?Static, 2D: O(lglg n)
[Alstrup, Brodal, Rauhe FOCS’00]
Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe
FOCS’98]
Static 3D ≈ Dynamic 2D ?
Persistence
Persistent : { static data struct. } ⟼ { dynamic data struct. }
Given problem with ℙ updateℙ(x), queryℙ(y) Persistent( ) = the problem ℙ
“preprocess (x1, x2, …, xN) to answer: query(y, t): answer queryℙ(y) after updateℙ(x1), …, updateℙ(xt)”
Persistent(incremental 2D range reporting)= static 3D range reporting
How Hard is Range Reporting?Static, 2D: O(lglg n)
[Alstrup, Brodal, Rauhe FOCS’00]
Dynamic, 2D: Ω(lg n / lglg n)[Alstrup,Husfeldt, Rauhe FOCS’98]
Static 3D = Persistent(Dynamic 2D)
But: Persistent(Marked Ancestor) has O(1) solution…
[Nekrich SoCG’07] static 3D in O(lg2lg n)…
How Could 4D be Hard?Fully-persistent data structures:
FullyPersistent(Marked Ancestor)≤ Static 2D Stabbing≤ Static 4D Reporting
v0
v1 v2
v3
v6
v4v5
v7
query(y)?
update(y)
FullyPersistent (Marked Ancestor)
FullyPersistent (Marked Ancestor)
FullyPersistent (Marked Ancestor)
“reachabilityoracles”
Lopsided Set DisjointnessReview: Communication Complexity
set S set T “is S ∩ T = ?”∅
LSD Lower BoundsMay assume universe is of size 2T
… split in blocks of size B=2T/S
Say Alice sends εS lg B∙ bits ⇒ in average block, Alice’s value is uncertain in a set of B1-ε’
⇒ Bob must identify his elements in uncertainty sets,sending Ω(S B∙ 1-ε’) bits
LSD Reachability Oracles➙
LSD Reachability Oracles➙
T = { } = deleted edges
LSD Reachability Oracles➙
T = { } = deleted edgesS = { } = one out-edge / node
LSD
dyn. marked ancestor
reachability oracles in the butterfly
partial match (1+ε)-ANN ℓ1, ℓ2
NN in ℓ1, ℓ23-ANN in ℓ∞
worst-caseunion-find dyn. trees, graphs
dyn. 1D stabbing
partial sums
2D stabbing
4D reporting 2D counting
dyn. NN in 2D
dyn. 2D reporting
The End