Varios vienen a la mente. Tenga en cuenta que estos son intuitivos como “explicables a una persona que no es CS” y pueden no expresar todas las capacidades / estructura recursiva de un árbol B.
1. Un catálogo de tarjetas de la biblioteca.
Es un índice bastante pequeño sobre lo que hay en la biblioteca, y le permite buscar libros por nombre / autor / tema. Una vez que encuentre la tarjeta para el libro que desea, escriba su ubicación física en una tarjeta temporal y vuelva a colocarla en el catálogo. Luego usa la dirección que anotó en la tarjeta temporal para encontrar el libro. Esto es bastante similar a un índice B-Tree en una base de datos relacional típica (por ejemplo, MySQL, Oracle, SqlServer). El salto intuitivo aquí es que el pequeño catálogo de tarjetas te permite inspeccionarlo fácilmente sin gastar la energía de caminar por la biblioteca, y una vez que te mueves físicamente, sabes exactamente a dónde vas.
- ¿Qué debo hacer cuando tengo una cita con las características NULL?
- ¿Por qué la traducción automática neuronal a nivel de caracteres es más difícil que la traducción automática neuronal a nivel de palabra?
- Cómo usar KNN para datos mixtos (categóricos y numéricos)
- ¿Cómo puedo sobresalir en el aprendizaje automático con antecedentes estadísticos?
- ¿Cómo se aplica la inteligencia artificial a los problemas ambientales?
El límite de esta explicación es que solo tiene un nivel de profundidad. Para mostrar dos niveles de profundidad, vea la siguiente explicación (tiendas).
2. Tiendas minoristas.
Para mostrar un B-Tree multinivel, piense en la experiencia de compra cuando necesite algún producto especializado. Por ejemplo, supongamos que necesita un fusible de repuesto para su automóvil.
Sin B-Trees o cualquier otro índice, es posible que tenga que visitar cada tienda en su ciudad una por una y caminar por todos los pasillos mirando cuidadosamente hasta encontrar el fusible que necesita. Esto sería increíblemente lento y tedioso, hasta el punto de no ser práctico en absoluto.
El índice B-Tree le permite comenzar con algo que está buscando y reducir rápidamente el área que necesita buscar (p. Ej., Todas las tiendas) a una sola área en el siguiente nivel. Para el ejemplo de fusible automático, la búsqueda de primer nivel podría ser buscar “autopartes” o “auto” en la agenda telefónica.
Una vez que encuentre una tienda de autopartes, puede ir directamente a ella en un solo viaje sin tener que visitar otras tiendas primero.
Una vez que llegue allí, encima de cada pasillo y típicamente visibles desde el frente de la tienda, hay letreros de sección con nombres de categoría como “eléctrico”, “neumático”, “limpieza”, etc. Una vez más, esto le permite caminar al pasillo correcto en un solo caminar sin tener que circunnavegar la tienda.
Si la tienda está bien etiquetada, puede haber letreros dentro de cada pasillo con nombres más específicos como “fusibles”, “cables de audio”, “bujías”, etc. Esto le permitirá caminar a la sección exacta (fusibles), donde solo tendría que buscar visualmente un área pequeña para encontrar el fusible que necesita.
¿Ves un patrón aquí? En cada nivel del árbol, un índice de búsqueda + búsqueda muy pequeño y eficiente le permite limitar su búsqueda por orden de magnitud. En términos prácticos, el trabajo que gasta para encontrar su artículo ahora depende de cuántos niveles hay de su búsqueda en lugar de la cantidad total de todos los artículos que existen en el universo. Para el caso de la tienda anterior, a pesar de que puede haber un millón de productos disponibles en una ciudad, solo se necesitan 3 búsquedas fáciles (directorio telefónico, pasillos de la tienda, sección en el pasillo) para reducir a unas pocas docenas de opciones de fusibles.
Conclusión
Ahora, completando la metáfora para relacionarse más con las computadoras, las operaciones de búsqueda / búsqueda son equivalentes a al menos una operación de E / S (búsqueda de disco + lectura de algunos datos), así como el procesamiento de cada índice para encontrar el siguiente nivel ( nodo) para buscar.