K-D Trs n Qu Trs Jms Fort Autumn 2007 Ltur 12
Rn Qurs Tnk o rn qur. Gv m ll ustomrs 45-55. Gv m ll ounts wort $5m to $15m Cn on n tm. Wt w wnt ot: Gv m ll ustomrs 45-55 wt ounts wort twn $5m n $15m. 2
Gomtr Dt Struturs Ornzton o ponts, lns, plns, t n support o str prossn Appltons Mp normton Grps - omputn ojt ntrstons Dt omprsson - nrst nor sr Dson Trs - mn lrnn 3
k- Trs Jon Bntl, 1975, wl n unrrut Tr us to stor sptl t. Nrst nor sr. Rn qurs. Fst look-up k- tr r urnt lo 2 n pt wr n s t numr o ponts n t st. Trtonll, k- trs stor ponts n -mnsonl sp w r quvlnt to vtors n -mnsonl sp. 4
Rn Qurs Rtnulr qur Crulr qur 5
Nrst Nor Sr qur Nrst nor s. 6
k- Tr Construton I tr s just on pont, orm l wt tt pont. Otrws, v t ponts n l ln prpnulr to on o t s. Rursvl onstrut k- trs or t two sts o ponts. Dvson strts v ponts prpnulr to t s wt wst spr. v n roun-ron son (ook os t ts w) 7
k- Tr Construton (1) v prpnulr to t wst spr. 8
k- Tr Construton (2) 9
k- Tr Construton (3) 10
k- Tr Construton (4) 11
k- Tr Construton (5) 12
k- Tr Construton (6) 13
k- Tr Construton (7) 14
k- Tr Construton (8) 15
k- Tr Construton (9) 16
k- Tr Construton (10) 17
k- Tr Construton (11) 18
k- Tr Construton (12) 19
k- Tr Construton (13) 20
k- Tr Construton (14) 21
k- Tr Construton (15) 22
k- Tr Construton (16) 23
k- Tr Construton (17) 24
k- Tr Construton (18) k- tr ll 25
2- Tr Domposton 2 1 3 26
k- Tr Splttn sort ponts n mnson 1 2 3 4 5 6 7 8 9 m spr s t m o - n -. In t slt mnson t ml pont n t lst splts t t. To ul t sort lsts or t otr mnsons sn t sort lst n pont to on o two sort lsts. 27
k- Tr Splttn sort ponts n mnson 1 2 3 4 5 6 7 8 9 ntor or st 0 0 1 0 0 1 0 1 1 sn sort ponts n mnson n to orrt st 28
k- Tr Construton Complt Frst sort t ponts n mnson. O(n lo n) tm n n stor. Ts r stor n A[1..,1..n] Fnn t wst spr n qull v nto two susts n on n O(n) tm. W v t rurrn T(n,) < 2T(n/2,) + O(n) Construtn t k- tr n on n O(n lo n) n n stor 29
No Strutur or k- Trs A no s 5 ls s (splttn s) vlu (splttn vlu) lt (lt sutr) rt (rt sutr) pont (ols pont lt n rt lrn r null) 30
Rtnulr Rn Qur Rursvl sr vr ll tt ntrsts t rtnl. 31
Rtnulr Rn Qur (1) 32
Rtnulr Rn Qur (2) 33
Rtnulr Rn Qur (3) 34
Rtnulr Rn Qur (4) 35
Rtnulr Rn Qur (5) 36
Rtnulr Rn Qur (6) 37
Rtnulr Rn Qur (7) 38
Rtnulr Rn Qur (8) 39
Rtnulr Rn Qur prnt_rn(low,, low, :ntr, root: no pontr) { Cs { root = null: rturn; root.lt = null: low < root.pont. n root.pont. < n low < root.pont. n root.pont. < tn prnt(root); ls (root.s = n low < root.vlu ) or (root.s = n low < root.vlu ) tn prnt_rn(low,, low,, root.lt); (root.s = n low > root.vlu ) or (root.s = n low > root.vlu ) tn prnt_rn(low,, low,, root.rt); }} 40
k- Tr Nrst Nor Sr Sr rursvl to n t pont n t sm ll s t qur. On t rturn sr sutr wr losr pont tn t on ou lr know out mt oun. 41
k- Tr NNS (1) qur pont 42
k- Tr NNS (2) qur pont 43
k- Tr NNS (3) qur pont 44
k- Tr NNS (4) qur pont w 45
k- Tr NNS (5) qur pont w 46
k- Tr NNS (6) qur pont w 47
k- Tr NNS (7) qur pont w 48
k- Tr NNS (10) qur pont w 49
k- Tr NNS (11) qur pont w 50
k- Tr NNS (12) qur pont w 51
k- Tr NNS (13) qur pont w 52
k- Tr NNS (14) qur pont w 53
k- Tr NNS (15) qur pont w 54
Nots on k- NNS Hs n sown to run n O(lo n) vr tm pr sr n rsonl mol. Stor or t k- tr s O(n). Prprossn tm s O(n lo n) ssumn s onstnt. 55
Worst-Cs or Nrst Nor Sr qur pont Hl o t ponts vst or qur Worst s O(n) But: on vr (n n prt) nrst nor qurs r O(lo N) 56
Sp Prttonn Qu Trs 57
Sp Prttonn Qu Trs 58
Sp Prttonn Qu Trs 59
A B Cs 60
Nots on Qu Trs Numr o nos s O(n(1+ lo(δ/n))) wr n s t numr o ponts n Δ s t rto o t wt (or t) o t k sp n t smllst stn twn two ponts Ht o t tr s O(lo n + lo Δ) 61
k-d Trs K-D vs Qu Dnst ln trs Ht o t tr s O(lo n) wt t nsrton Goo o or mnson Supports nsrt, n, nrst nor, rn qurs Qu Trs Sp prttonn tr M not ln Not oo o or mnson Supports nsrt, lt, n, nrst nor, rn qurs 62
Gomtr Dt Struturs Gomtr t struturs r ommon. T k- tr s on o t smplst. Nrst nor sr Rn qurs Otr t struturs us or 3- rps mols Psl smultons 63