VP-træ ( engelsk vantage-point tree ) er en slags BSP-træ .
Et VP-træ kan bygges til objekter fra et metrisk rum , det vil sige for ethvert sæt, hvor afstanden mellem to vilkårlige elementer i dette sæt er defineret.
Et af punkterne ("referencepunkt") er taget fra startsættet, og "radius" R for dette punkt er valgt. De resterende punkter er opdelt i to delmængder - med en afstand mindre end R til referencepunktet, og en afstand større end R. I hver af de resulterende delmængder vælges det næste referencepunkt og en ny radius, og så videre, indtil antallet af elementer i hver af de resterende delmængder bliver mindre en vis tærskelværdi.
Referencepunkterne og "radierne" for skillekuglerne er valgt, så træet er så afbalanceret som muligt.
I modsætning til et KD-træ , som kun gælder for punkter fra , kan et VP-træ bruges til at finde de nærmeste objekter fra ethvert metrisk rum. Eksempelvis kan Hamming distance bruges som metrik - så kan VP-træet bruges til at søge på lignende ord fra en ordbog, eller til at søge efter lignende billeder.
Træ (datastruktur) | |
---|---|
Binære træer | |
Selvbalancerende binære træer |
|
B-træer | |
præfiks træer |
|
Binær opdeling af rummet | |
Ikke-binære træer |
|
At bryde rummet op |
|
Andre træer |
|
Algoritmer |
|