KD-Tree.pptx

38
KD TREE INTEGRANTES: Quispe Gutiérrez Giancarlos Chunga Quispe Rafael

Transcript of KD-Tree.pptx

KD TREEINTEGRANTES: Quispe Gutiérrez Giancarlos Chunga Quispe Rafael

K-D Trees - Definición

Es una estructura de datos que permite representar datos k-dimensionales (Objetos Punto) Es un árbol binario que representa una subdivisión recursiva del universo, en subespacios, mediante subplanos.

Cada subplano que subdivide al espacio debe contener al menos un punto y se corresponde con un nodo en el árbol binario.

K-D Trees - Definición

Además de las k claves las cualescomponen el registro, cada nodo

contiene dos punteros, los cuales sonnulos o puntos a otro nodo en árbol k-d

Asociado con cada nodo undiscriminador, el cual es un entero entre0 y k-1inclusive.

K-D Tree - Inserción

K-D Tree Representación Gráfica(0, 100) (100,100)

K1

(0,0) K0 (100,0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree Representación Gráfica(0, 100) (100,100)

A(50,50)

K1

(0,0) K0 (100, 0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree Representación Gráfica(0, 100) (100,100)

B(10,70)

A(50,50)

K1

(0,0) K0 (100, 0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree Representación Gráfica(0, 100)

B(10,70)

A(50,50)

K1

(100,100)

C(80,15)

(0,0) K0 (100, 0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree Representación Gráfica(0, 100) (100,100)

B(10,70)

A(50,50)

D(25,20)

K1

(0,0)

C(80,15)

K0 (100, 0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree Representación Gráfica(0, 100) (100,100)

E(70,85)

B(10,70)

A(50,50)

D(25,20)

K1

(0,0)

C(80,15)

K0 (100, 0)

A(50,50)

B(10,70)

C(80,15)

D(25,20)

E(70,85)

K-D Tree - Representación en Árbol

K0A(50,50)

K-D Tree - Representación en Árbol

K0

K1 B(10,70)

A(50,50)

K-D Tree - Representación en Árbol

K

K1 B(10,70)

A(50,50)0

C(80,15)

K-D Tree - Representación en Árbol

K0

K1 B(10,70)

K0 D(25,20)

A(50,50)

C(80,15)

K-D Tree - Representación en Árbol

K0

K1 B(10,70)

K0 D(25,20)

A(50,50)

C(80,15)

E(70,85)

Ejemplo:

Ejemplo:

K-D Trees - BúsquedaBúsquedas Exactas

La búsqueda procede hacia abajo en el árbol, yendo izquierda o derecha comparando con las claves de los registros deseados en el discriminador en el nodo.

El numero de comparaciones para alcanzaruna búsqueda exacta es O(lgN)

Búsquedas Parciales

Cuando se visita un que discrimina por un valor j chequeamos si el valor de la j-esima clave esta especificado en la consulta, si lo está, entonces necesitamos solamente visitar uno de los nodos hijos. Si Kj no es una de las t claves especificadas, entonces debemos recursivamente buscar ambos hijos

K-D Trees - Búsqueda

K-D Trees - Búsqueda Exacta

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

G(32,96)

E(70,85)

K-D Trees - Búsqueda Exacta

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

G(32,96)

E(70,85)

K-D Trees - Búsqueda Exacta

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

G(32,96)

E(70,85)

K-D Trees - Búsqueda Exacta

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

G(32,96)

E(70,85)

K-D Trees - Búsqueda Exacta

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

G(32,96)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Trees - Búsqueda Parcial

K0

K1 B(10,70)

K0 D(25,20)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

(32,X)

E(70,85)

K-D Tree - Eliminación

K-D Tree - Eliminación

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

A(50,50)

E(70,85)

K-D Tree - Eliminación

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

A(50,50)

E(70,85)

J = K0

K-D Tree - Eliminación

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

A(50,50)

QFATHER

Q

E(70,85)

J = K0

K-D Tree - Eliminación

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50)

C(80,15)

F(40,80)

A(50,50)

QFATHER

Q

E(70,85)

J = K0

K-D Tree - EliminaciónQ

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50) E(70,85)

C(80,15)

F(40,80)

A(50,50)

J = K0

K-D Tree - EliminaciónQ

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

A(50,50) E(70,85)

C(80,15)

F(40,80)

A(50,50)

J = K0

K-D Tree - Eliminación

K1

K0 D(25,20)

K1

K0

B(10,70)

G(32,96)

E(70,85)

C(80,15)

F(40,80)

A(50,50)

J = K0