seegongsik
Mis palabras
Datos

Reducir con forma de arbol

¿Como encuentras una palabra en un diccionario grueso? No pasas hoja por hoja desde la primera. Abres el medio, decides delante o detras, y saltas al medio de esa mitad. Si colocas los datos con forma de arbol, puedes hacer lo mismo. Cada paso hacia abajo reduce los candidatos a la mitad.

01

Los datos se dividen en ramas

Antes aprendimos a
poner datos en una sola fila.
Una fila se ve ordenada,
pero para hallar un valor del medio
a veces caminas desde un extremo.
Asi que esta vez cambiamos la forma.
Pon una raiz arriba
y dividela en dos ramas.
De cada rama, dos mas.
A esta forma que se divide la llamamos arbol.

Profundidad 0 · 1 sitios

Toca la raiz para desplegar ramas. Cada toque divide un nivel mas.

Cuanto mas se divide, mas rapido crecen los sitios.
Cada nivel duplica las ramas.
Pero ¿por que esta forma
es buena para buscar?
El secreto esta en hacia donde se divide.
Al elegir una rama desde la raiz
no vas a cualquier lado,
llevas una regla y eliges un lado.
Veamos esa regla a continuacion.

02

Cada paso reduce a la mitad

Al colocar valores en un arbol
fijas una regla.
Los valores menores que un sitio van a la rama izquierda,
los mayores van a la rama derecha.
Entonces buscar se vuelve muy facil.
Si tu objetivo es menor que el sitio actual
descartas todo el lado derecho y miras solo a la izquierda.
Si es mayor, descartas todo el lado izquierdo.
Con cada eleccion,
desaparece la mitad de los candidatos restantes.

Objetivo: 70
3
8
14
21
27
33
40
48
55
62
70
77
85
92
99
Sitio actual: 48 · quedan 15 candidatos

Compara el objetivo con el sitio actual: toca izquierda si es menor, derecha si es mayor. Cada toque reduce a la mitad los candidatos.

Con cada eleccion,
los candidatos cayeron a la mitad.
Una rama descartada no se vuelve a mirar.
Gracias a la regla sabes
que la respuesta no esta dentro.
Asi que por muchos sitios que haya,
unas pocas elecciones lo reducen rapido.
Entonces, ¿elegimos un objetivo real
y lo seguimos desde la raiz?

03

Se encuentra en pocos pasos

Ahora elige un valor objetivo
y siguelo desde la raiz.
Compara el sitio raiz con el objetivo
y por la regla baja a izquierda o derecha.
En esa rama compara otra vez y baja otra vez.
Hasta llegar al sitio objetivo
repites lo mismo.
Cuenta cuantos pasos toma,
y el numero sorprendentemente pequeno te asombrara.

Incluso un arbol de siete sitios
llego en tres pasos como mucho.
Si estuvieran en una fila
el ultimo valor necesitaria siete miradas.
Gracias a la forma de arbol
lo hallamos con muchas menos miradas.
Entonces, si hay muchos mas sitios,
¿el numero de pasos tambien se dispara?
Hagamoslo crecer nosotros a continuacion.

04

La profundidad es el numero de pasos

La profundidad de un arbol
es el numero de pasos de la raiz al fondo.
Eso es tambien el maximo de pasos
que puede tomar una busqueda.
Lo curioso: aunque dupliques los sitios,
la profundidad crece solo un paso.
Duplica otra vez, un paso mas.
Asi que aunque los datos se vuelvan enormes
el numero de pasos sube muy despacio.
A este ahondar lento decimos
que crece como un logaritmo.

sitios7
profundidad (pasos)3
sitios al doble, profundidad un paso

Toca para duplicar el numero de sitios. Los sitios saltan, pero la profundidad (pasos) crece de a un paso.

Aunque los sitios pasen de mil a dos mil
la profundidad crecio solo un paso.
Un millon de sitios
se alcanzan en unos veinte pasos.
Este es el verdadero poder de la forma de arbol.
Por mucho que crezcan los datos,
los pasos para hallar apenas aumentan.
Por eso, para datos grandes,
la forma de arbol se usa tanto.

05

Resumamos

Reunido en una linea, es esto.
Pon los datos con forma de rama, un arbol.
Con la regla menor izquierda, mayor derecha,
cada paso reduce a la mitad los candidatos.
Asi que hasta miles se hallan en pocos pasos.
El numero de pasos, la profundidad, es la velocidad.
Cuando los datos se duplican
la profundidad crece solo un paso.
Es igual que abrir un diccionario
por el medio y reducir a la mitad.

1. los datos se dividen en ramas
2. menor izquierda, mayor derecha - reducir a la mitad
3. se halla en pocos pasos
4. profundidad = pasos = velocidad
Pulsa el boton para repasar los puntos clave en orden

Toca los puntos clave en orden para repasar. (se divide en ramas -> reducir a la mitad -> hallar en pocos pasos -> profundidad es los pasos)

Ahora sabes por que poner datos
con forma de arbol encuentra rapido.
Pero una cosa inquieta un poco.
Si el orden en que insertas valores es malo,
el arbol puede crecer largo hacia un lado,
un arbol torcido.
Entonces el encanto de reducir a la mitad se pierde.
¿Como mantener un arbol
parejo por ambos lados?
Veamos esa historia del equilibrio en la proxima leccion.

En una líneaEn vez de poner los datos en una sola fila larga, dales forma de arbol: desde una raiz se divide en ramas y baja. Si tu objetivo es mayor que el sitio actual, vas por una rama; si es menor, por la otra. Asi cada paso hacia abajo reduce a la mitad los candidatos a revisar. Por eso, incluso miles se encuentran en pocos pasos. El numero de pasos, la profundidad del arbol, marca la velocidad. Cuando los datos se duplican, la profundidad crece solo un paso, asi que aun con muchisimos se hace mas profundo despacio. Es igual que abrir un diccionario por el medio y reducir a la mitad.
Datos
¿Te fue útil? Apoyar seegongsik