Árbol AVL

Al embarcarte en un viaje por el reino de la informática, te encontrarás con un componente vital para la comprensión de las estructuras de datos: el Árbol AVL. Llamado así por sus inventores, Adelson-Velsky y Landis, el Árbol AVL es un árbol de búsqueda binario autoequilibrado, con una rica historia que se remonta a 1962. Los fundamentos del Árbol AVL implican una estructura de árbol que mantiene su equilibrio mediante rotaciones, un concepto que captarás firmemente a medida que avances en tu aprendizaje. Los ejemplos iniciales de Árboles AVL básicos allanarán el camino a casos más complejos, permitiéndote comprender plenamente los entresijos de esta materia. Un elemento clave para comprender el Árbol AVL reside en la visualización, y este tutorial proporciona herramientas y técnicas que permiten interpretar con éxito las estructuras del Árbol AVL.

Pruéablo tú mismo

Achieve better grades quicker with Premium

PREMIUM
Karteikarten Spaced Repetition Lernsets AI-Tools Probeklausuren Lernplan Erklärungen Karteikarten Spaced Repetition Lernsets AI-Tools Probeklausuren Lernplan Erklärungen
Kostenlos testen

Geld-zurück-Garantie, wenn du durch die Prüfung fällst

Review generated flashcards

Regístrate gratis
Has alcanzado el límite diario de IA

Comienza a aprender o crea tus propias tarjetas de aprendizaje con IA

Tarjetas de estudio
Tarjetas de estudio

Saltar a un capítulo clave

    Los entresijos del algoritmo del Árbol AVL se desplegarán ante tus ojos, dilucidando los componentes básicos y los mecanismos de funcionamiento implicados. Un término esencial en esta expedición educativa gira en torno a la importancia del factor de equilibrio del Árbol AVL. La comprensión del factor de equilibrio es clave para mantener los Árboles AVL, permitiendo una estructura de datos armoniosa y eficiente. Explora más a fondo esta estructura de datos y amplía tus conocimientos de informática con los Árboles AVL.

    Comprender la definición de Árbol AVL

    Un árbol AVL, también conocido como árbol de Adelson-Velsky y Landis, es un árbol de búsqueda binario autoequilibrado en informática. En esta estructura de datos, las alturas de dos subárboles hijos de cualquier nodo difieren como máximo en uno.

    Origen y breve historia del árbol AVL

    En el mundo de la Informática, el Árbol AVL destaca como una creación notable. Tiene sus raíces en el trabajo pionero de dos matemáticos rusos, G.M. Adelson-Velsky y E.M. Landis. Curiosamente, el Árbol AVL recibe su nombre de las iniciales de estos dos matemáticos.

    Publicaron por primera vez su documento conceptual sobre los Árboles AVL en el año 1962. Fue la primera estructura de datos creada para árboles de búsqueda binarios autoequilibrados.

    Concepto fundamental de un Árbol AVL

    Un árbol AVL aplica algunas reglas específicas para mantener su equilibrio durante la inserción o eliminación de datos. Esto hace que esta estructura de árbol sea bastante singular. He aquí los principios fundamentales:
    • Todos los nodos deben contener valores distintos. Esta regla se ajusta al principio general de los árboles binarios.
    • La altura de los subárboles izquierdo y derecho de cualquier nodo del árbol difiere como máximo en uno. Esta regla es la condición de equilibrio, exclusiva de los árboles AVL.
    • Cada inserción o supresión puede obligar a reequilibrar el árbol.

    La altura de cualquier nodo de un árbol AVL se denota como el número de aristas entre el nodo y el nodo hoja más alejado.

    El factor de equilibrio de un nodo N en un Árbol AVL se calcula como sigue en el lenguaje de las matemáticas: \text[ \text{Factor de equilibrio} = \text{Altura del subárbol izquierdo de N - Altura del subárbol derecho de N} \] Considera un nodo "p", cuyo hijo izquierdo es "q". La operación de rotación en el árbol AVL se divide en cuatro categorías:
    OperaciónCondición
    Rotación izquierda-izquierda (Rotación LL)Se aplica cuando el subárbol izquierdo de 'q' es más largo y el factor de equilibrio de 'p' es -2
    Rotación derecha-derecha (Rotación RR)Se aplica cuando el subárbol derecho de "q" es más largo y el factor de equilibrio de "p" es 2
    Rotación izquierda-derecha (Rotación LR)Se aplica cuando el subárbol derecho de "q" es más largo y el factor de equilibrio de "p" es -2
    Rotación derecha-izquierda (Rotación RL)Se aplica cuando el subárbol izquierdo de "q" es más largo y el factor de equilibrio de "p" es 2

    Con estas operaciones de equilibrio y rotación, los árboles AVL no sólo optimizan la inserción y eliminación de datos, sino que también optimizan las operaciones de búsqueda, lo que los hace especialmente útiles en bases de datos y sistemas de archivos en los que el acceso rápido a los datos es fundamental.

    Profundizar en los ejemplos de árboles AVL

    Ahora que has comprendido los principios fundamentales de los Árboles AVL, vamos a profundizar en su comprensión con algunos ejemplos concretos.

    Ejemplos básicos de Árboles AVL

    Considera un ejemplo sencillo en el que tienes que insertar una secuencia de números en un árbol AVL inicialmente vacío.
    • Inserta 10
    • Inserta 20
    • Inserta 30
    En este ejemplo, la inserción de 10 y 20 no provocará nada especial porque el árbol permanece equilibrado. Sin embargo, insertar 30 en este árbol provoca un desequilibrio. Después de insertar 30, el árbol AVL tiene este aspecto 10 \ 20 \ 30

    En el caso anterior, se requiere una rotación derecha-derecha para el Nodo "10" y el árbol AVL resultante pasa a ser: 20 / \ 10 30 Una rápida comprobación del equilibrio tras la rotación confirma la estabilidad: Cada nodo cumple la regla de que la diferencia de altura entre el subárbol izquierdo y el derecho es como máximo 1.

    Una rotación derecha-derecha no es más que uno de los cuatro tipos de rotaciones que mantienen equilibrado el árbol AVL. Los otros tipos, a saber, izquierda-izquierda, derecha-izquierda e izquierda-derecha, funcionan de forma similar. Ahora profundizaremos en estas rotaciones aplicadas a escenarios variados, haciendo hincapié en los escenarios que requieren rotaciones múltiples.

    Instancias complejas del Árbol AVL

    Considera un ejemplo en el que tengas que realizar múltiples operaciones -tanto inserciones como eliminaciones- en un árbol AVL. Insertemos las claves 9, 5, 10, 0, 6, 11, -1, 1, 2 en un Árbol AVL inicialmente vacío. Tras insertar estas claves, el Árbol AVL pasa a ser 9 / \ 1 10 / \ \ 0 5 11 / / -1 2 Puedes observar que cada nodo de este árbol AVL obedece a la regla del equilibrio. La profundidad de los subárboles izquierdo y derecho de cualquier nodo difiere como máximo en 1. Si ejecutas estas inserciones y compruebas el factor de equilibrio de cada nodo después de cada operación, observarás que no es necesario realizar ninguna rotación. Ahora, vamos a eliminar el nodo raíz "9" de este árbol AVL. Tras eliminar este nodo y ajustar el árbol, el árbol AVL pasa a ser 1 // / \ 0 10 / / \ -1 2 11 \ 5 Observa que tras eliminar el nodo raíz, el árbol AVL compensó moviendo el siguiente nodo, '1', a la posición de raíz. Sin embargo, este movimiento creó un desequilibrio en el nodo raíz porque la profundidad del subárbol derecho (3) es ahora mucho mayor que la profundidad del subárbol izquierdo (1). En este caso, el factor de equilibrio de la raíz es 2, lo que indica que el subárbol derecho es más pesado. Este árbol requiere una rotación izquierda-derecha: rotación izquierda para el Nodo "10" seguida de una rotación derecha para el Nodo "1". Esto devuelve el equilibrio al árbol. Puedes ver en estos ejemplos que los árboles AVL requieren cuidadosos ajustes y operaciones de reequilibrado durante la inserción y la eliminación para mantener su propiedad especial. Sin embargo, este trabajo extra confiere a los árboles AVL su ventaja excepcional: garantizan las operaciones de búsqueda, inserción y borrado en tiempo logarítmico.

    El arte de la visualización de árboles AVL

    En informática y, en concreto, en el estudio de las estructuras de datos, la visualización ayuda enormemente a la comprensión. Imagínate que un concepto complejo como un Árbol AVL se convierte en un simple diagrama. De repente, parece bastante manejable.

    Visualización de la estructura de los árboles AVL

    Visualizar la estructura de los árboles AVL implica algo más que dibujar líneas y círculos. En estas estructuras, cada nodo representa un par clave-valor. Cada nodo del árbol también contiene información adicional sobre el factor de equilibrio, que es de vital importancia para mantener el equilibrio general del árbol AVL. He aquí un ejemplo: [20] / \ / \ [10] [30] Factor de equilibrio: 0 Factor de equilibrio: 0 Arriba se representa un árbol AVL equilibrado con 3 nodos. Cada corchete representa un nodo distinto, y los valores clave son 10, 20 y 30. Los factores de equilibrio de todos los nodos son 0, lo que indica que este árbol AVL está realmente equilibrado. La visualización también ayuda a comprender el orden y el flujo en un árbol AVL:
    • La clave del hijo izquierdo es menor que la del padre.
    • La clave del hijo derecho es mayor que la del padre.
    • Cada nodo apunta a otros dos nodos hijos: el hijo izquierdo y el hijo derecho.
    • Con frecuencia se representa visualmente un dato adicional, la "altura" del nodo o el camino más largo hacia un nodo hoja.

    La altura de un nodo en el árbol AVL se define como la longitud del camino más largo desde ese nodo hasta una hoja. Suele calcularse como el máximo de las alturas de sus dos hijos, más uno.

    La máxima diferencia de altura entre los hijos izquierdo y derecho de un nodo (el factor de equilibrio) es uno. Ésta es una característica distintiva de los Árboles AVL. Es útil tener una representación visual del factor de equilibrio cuando se aprende o se enseña sobre los árboles AVL. Evita la idea errónea de que equilibrio significa un árbol perfectamente simétrico. Esto no es necesariamente así. Recuerda que un árbol está equilibrado si, para cada nodo, las alturas de sus subárboles izquierdo y derecho difieren como máximo en 1.

    Interpretar visualizaciones de árboles AVL

    Las visualizaciones del Árbol AVL contienen abundante información. Para interpretar eficazmente estas visualizaciones, es importante comprender las implicaciones de los factores de equilibrio y sus correspondientes elementos visuales.

    Los factores de equilibrio positivos pueden interpretarse como que el subárbol izquierdo es superior al subárbol derecho, mientras que los factores de equilibrio negativos significan que el subárbol derecho es superior al subárbol izquierdo. Un factor de equilibrio 0 indica que ambos subárboles tienen la misma altura.

    Observa este ejemplo: [10] / \ / \ [-1] [20] [30] Equilibrio: 1 Equilibrio: 0 Equilibrio : -1 Muestra un árbol en el que el nodo raíz (20) está perfectamente equilibrado (Equilibrio: 0), pero los subárboles no lo están. El hijo izquierdo de la raíz (10) tiene un equilibrio de 1, lo que indica que su subárbol izquierdo es más alto que el derecho. El hijo derecho de la raíz (30) tiene un saldo de -1, lo que indica que su subárbol derecho es más alto.

    También es vital comprender las operaciones de rotación en el proceso de mantenimiento del equilibrio del Árbol AVL. Las cuatro operaciones de rotación diferentes (LL, RR, LR, RL) se entienden mejor visualmente, con el árbol inicial de pre-rotación a un lado y el árbol de post-rotación al otro. Además, presta atención a las llamadas de atención o comentarios en las visualizaciones: a menudo proporcionan información o recordatorios importantes sobre el comportamiento específico de los árboles AVL.

    Profundiza: En exámenes o entrevistas, puede que te pidan que dibujes manualmente un árbol AVL después de inserciones y supresiones consecutivas. Es una práctica fantástica para comprender y dominar el comportamiento y los ajustes de los árboles AVL. Utiliza factores de equilibrio e información sobre la altura en cada paso del proceso para justificar tu toma de decisiones.

    Visión general del algoritmo del árbol AVL

    Desarrollado hace más de medio siglo, el algoritmo del Árbol AVL es una notable proeza de la informática que sigue siendo relevante y muy utilizado hoy en día. Este algoritmo, que emplea funciones avanzadas como el autoequilibrio y la rotación, garantiza operaciones muy eficientes en árboles de búsqueda binarios. Es la base fundamental de muchos sistemas importantes, como las bases de datos y los sistemas de archivos, y también ayuda en la gestión de la memoria y la programación concurrente.

    Componentes básicos del algoritmo de árbol AVL

    La eficacia del algoritmo del árbol AVL es el resultado de sus componentes centrales únicos y de la forma en que funcionan. Vamos a diseccionar estos componentes:
    • Inserción: Al igual que en un árbol de búsqueda binario, los nodos se insertan en un orden determinado. Sin embargo, en un árbol AVL, el factor de equilibrio y los procedimientos de rotación gestionan el equilibrio del árbol después de cada inserción.
    • Eliminación: De forma similar a la inserción, el proceso de eliminación de nodos puede alterar el equilibrio del árbol. El algoritmo ajusta el árbol después de la eliminación.
    • Búsqueda: Debido a la propiedad de equilibrio del árbol AVL, se optimiza la búsqueda, haciéndola extremadamente eficaz.
    • Determinación del factor de equilibrio: El factor de equilibrio de cada nodo se calcula como la diferencia entre las alturas de los subárboles izquierdo y derecho. Se denota mediante la fórmula
    \[ \text{Factor de equilibrio} = \text{Altura del subárbol izquierdo - Altura del subárbol derecho} \]
    • Operaciones de rotación: Son el corazón de los árboles AVL. Entran en acción cuando el factor de equilibrio de cualquier nodo supera el rango aceptable (-1, 0, 1). Existen cuatro tipos:
    Rotación TipoDescripción
    Rotación LLSe realiza cuando un nodo pesado a la izquierda sigue teniendo un hijo pesado a la izquierda.
    Rotación RRRealizada cuando un nodo pesado a la derecha tiene un hijo pesado a la derecha.
    Rotación LRSe ejecuta cuando un nodo pesado a la izquierda tiene un hijo pesado a la derecha.
    Rotación RLSe produce cuando un nodo pesado a la derecha tiene un hijo pesado a la izquierda.
    Cada tipo de rotación requiere un reposicionamiento diferente de los nodos, pero en general, ayudan al árbol AVL a mantener su equilibrio.

    Mecanismo de funcionamiento del algoritmo del árbol AVL

    El corazón del algoritmo del Árbol AVL reside en su capacidad para realizar operaciones como la inserción y la eliminación sin alterar su estado de equilibrio. Este mecanismo es tan atractivo como complejo. Cuando se inserta un nodo en un árbol AVL, el algoritmo lo coloca primero como un árbol de búsqueda binario normal, siguiendo la regla hijo-izquierdo, hijo-derecho. Sin embargo, tras la inserción, el algoritmo comprueba cada nodo, de abajo arriba, recalculando el factor de equilibrio de cada uno.

    Si algún nodo muestra un desequilibrio (es decir, un factor de equilibrio superior al intervalo de (-1, 0, 1)), el algoritmo realiza una rotación para devolverlo al equilibrio. Esta rotación podría ser una rotación LL, RR, LR o RL, en función de la condición del nodo desequilibrado. Por ejemplo, una rotación LL se aplicaría a un nodo pesado a la izquierda con el propio hijo izquierdo pesado a la izquierda.

    De forma similar a la inserción, la eliminación de un nodo también requiere una comprobación del equilibrio. Cuando se borra un nodo, puede haber un desequilibrio izquierda-derecha. El algoritmo calcula el factor de equilibrio de cada nodo y realiza una rotación en el punto de desequilibrio, devolviendo el árbol a su estado equilibrado. Debido al equilibrio mantenido, la operación de búsqueda alcanza cualquier nodo en un máximo de \( \log{n} \) pasos, donde \( n \) es el número total de nodos.

    Por tanto, el algoritmo del árbol AVL garantiza que las operaciones de búsqueda se optimicen para que sean rápidas y eficaces. En conclusión, la magia del algoritmo del Árbol AVL reside en el fino equilibrio entre la rigidez limitada y la flexibilidad calculada. La aplicación de la regla del factor de equilibrio mantiene el árbol perpetuamente optimizado, mientras que la admisión de una pequeña incoherencia izquierda-derecha da cabida a la diversidad de datos del mundo real.

    La importancia del factor de equilibrio del árbol AVL

    El factor de equilibrio es una parte integral de los árboles AVL. Desempeña un papel crucial en la consecución de las propiedades de autoequilibrio que distinguen a los árboles AVL de otros árboles de búsqueda binaria. El factor de equilibrio aumenta la eficacia de los árboles AVL al garantizar que el árbol se mantiene aproximadamente equilibrado en altura, optimizando así las operaciones de búsqueda.

    Definición del factor de equilibrio de los árboles AVL

    En el contexto de los árboles AVL, el factor de equilibrio de cualquier nodo es la diferencia de altura entre su subárbol derecho y su subárbol izquierdo. En pocas palabras, utiliza esta fórmula \text[ \text{Factor de equilibrio} = \text{Altura del subárbol izquierdo - Altura del subárbol derecho} \] En los árboles AVL, cada nodo lleva un factor de equilibrio de -1, 0 ó 1. Si el factor de equilibrio de un nodo se sale de este rango permitido, indica que el árbol se ha desequilibrado, y tienes que realizar operaciones de rotación para que el árbol vuelva a estar equilibrado. Por ejemplo, considera este sencillo árbol AVL: [ 9] / \ [3] [10] / \ \ [1] [6] [11] / \ [4] [7] Aquí, el factor de equilibrio de cada nodo se calcularía como sigue:
    • El nodo raíz, 9, tiene un factor de equilibrio 0 porque tanto el subárbol izquierdo como el derecho tienen la misma altura 2.
    • El nodo hijo izquierdo, 3, tiene un factor de equilibrio de -1, ya que el subárbol derecho es más alto que el izquierdo.
    • El nodo hijo derecho, 10, tiene un factor de equilibrio de -1 ya que su subárbol derecho es más alto que el subárbol izquierdo, que en este caso es inexistente.
    Este árbol AVL se considera equilibrado, ya que todos los nodos tienen factores de equilibrio dentro del intervalo permitido de -1 a 1.

    El papel del factor de equilibrio en el mantenimiento de los árboles AVL

    En un árbol AVL, el factor de equilibrio sirve como indicador crítico que guía los ajustes del árbol. Al insertar o eliminar nodos, corres el riesgo de alterar el equilibrio del árbol. Es entonces cuando entra en juego el factor de equilibrio. Tras una operación de inserción o eliminación, vuelve a calcular el factor de equilibrio para cada nodo, de abajo a arriba. Si el factor de equilibrio calculado se mantiene dentro del rango aceptado de -1, 0 ó 1, el árbol está equilibrado de forma óptima, lo que garantiza que las operaciones de búsqueda, inserción y borrado se ejecutarán con eficacia. Sin embargo, si algún nodo muestra un factor de equilibrio superior a este rango, es señal de que el árbol está desequilibrado. Para restablecer el equilibrio, debes realizar operaciones de rotación. Consideradas el corazón de los árboles AVL, estas rotaciones, que incluyen LL, RR, LR o RL, dependen de la condición del nodo desequilibrado. Por ejemplo, si encuentras un factor de equilibrio de -2 en un nodo, determina qué operación de rotación aplicar en función del factor de equilibrio de los hijos del nodo. Si el nodo hijo en cuestión también tiene un factor de equilibrio de -1, realiza una rotación derecha-derecha (RR). En cambio, si el nodo hijo tiene un factor de equilibrio de +1, necesitarás una rotación derecha-izquierda (RL). Para ilustrarlo, este árbol: [7] / \ [6] [8] / [5] / [4]

    Muestra un factor de equilibrio de -2 en el nodo raíz, 7, lo que indica un árbol desequilibrado. Como el nodo hijo izquierdo, 6, también tiene un factor de equilibrio de -1, se requiere una rotación derecha-derecha (RR) para equilibrar este árbol AVL. El mantenimiento riguroso de los factores de equilibrio y las operaciones de rotación asociadas confieren a los árboles AVL su propiedad única de autoequilibrarse.

    Aunque parezca un trabajo extra, esta vigilancia permanente asegura que el árbol siempre permanezca optimizado en altura, garantizando operaciones eficaces y rápidas. Dominar el concepto de factor de equilibrio y su papel en los árboles AVL es fundamental para comprender la estructura de datos, y te ayudará mucho a aprovechar la potencia de los árboles AVL en aplicaciones informáticas.

    Árbol AVL - Puntos clave

    • El Árbol AVL, llamado así por sus inventores Adelson-Velsky y Landis, es un árbol de búsqueda binaria autoequilibrado en informática cuyas raíces se remontan a 1962.

    • Los fundamentos del Árbol AVL consisten en mantener su equilibrio mediante rotaciones después de cada inserción o eliminación de datos.

    • Comprender el Árbol AVL requiere técnicas y herramientas de visualización para interpretar las estructuras arbóreas y el funcionamiento del algoritmo del Árbol AVL.

    • El factor de equilibrio del Árbol AVL es clave para mantener los Árboles AVL, este factor calcula la diferencia de altura entre los subárboles izquierdo y derecho de cualquier nodo.

    • Los componentes clave del algoritmo del Árbol AVL incluyen la Inserción, la Supresión, la Búsqueda, la determinación del Factor de Equilibrio y las Operaciones de Rotación, todo lo cual contribuye a la propiedad de autoequilibrio del árbol y a la optimización de las operaciones.

    Aprende más rápido con las 5 tarjetas sobre Árbol AVL

    Regístrate gratis para acceder a todas nuestras tarjetas.

    Árbol AVL
    Preguntas frecuentes sobre Árbol AVL
    ¿Qué es un árbol AVL?
    Un árbol AVL es una estructura de datos de árbol binario balanceado. garantiza un equilibrio para mantener operaciones eficientes.
    ¿Para qué se utiliza un árbol AVL?
    Un árbol AVL se usa para mantener una búsqueda, inserción y eliminación de elementos eficientes en tiempo logarítmico en colecciones de datos.
    ¿Cómo se equilibra un árbol AVL?
    Un árbol AVL se equilibra automáticamente mediante rotaciones simples o dobles tras inserciones o eliminaciones que desbalancean el árbol.
    ¿Cuál es la principal ventaja de un árbol AVL?
    La principal ventaja de un árbol AVL es mantener operaciones de búsqueda, inserción y eliminación en tiempo O(log n) asegurando eficiencia.
    Guardar explicación

    Pon a prueba tus conocimientos con tarjetas de opción múltiple

    ¿Qué es un árbol AVL y cómo mantiene su equilibrio?

    ¿Qué tipo de ajustes son necesarios en un árbol AVL durante operaciones como la inserción y la supresión?

    ¿Qué representa cada nodo de un árbol AVL y qué información adicional crucial contiene?

    Siguiente

    Descubre materiales de aprendizaje con la aplicación gratuita StudySmarter

    Regístrate gratis
    1
    Acerca de StudySmarter

    StudySmarter es una compañía de tecnología educativa reconocida a nivel mundial, que ofrece una plataforma de aprendizaje integral diseñada para estudiantes de todas las edades y niveles educativos. Nuestra plataforma proporciona apoyo en el aprendizaje para una amplia gama de asignaturas, incluidas las STEM, Ciencias Sociales e Idiomas, y también ayuda a los estudiantes a dominar con éxito diversos exámenes y pruebas en todo el mundo, como GCSE, A Level, SAT, ACT, Abitur y más. Ofrecemos una extensa biblioteca de materiales de aprendizaje, incluidas tarjetas didácticas interactivas, soluciones completas de libros de texto y explicaciones detalladas. La tecnología avanzada y las herramientas que proporcionamos ayudan a los estudiantes a crear sus propios materiales de aprendizaje. El contenido de StudySmarter no solo es verificado por expertos, sino que también se actualiza regularmente para garantizar su precisión y relevancia.

    Aprende más
    Equipo editorial StudySmarter

    Equipo de profesores de Ciencias de la Computación

    • Tiempo de lectura de 20 minutos
    • Revisado por el equipo editorial de StudySmarter
    Guardar explicación Guardar explicación

    Guardar explicación

    Sign-up for free

    Regístrate para poder subrayar y tomar apuntes. Es 100% gratis.

    Únete a más de 22 millones de estudiantes que aprenden con nuestra app StudySmarter.

    La primera app de aprendizaje que realmente tiene todo lo que necesitas para superar tus exámenes en un solo lugar.

    • Tarjetas y cuestionarios
    • Asistente de Estudio con IA
    • Planificador de estudio
    • Exámenes simulados
    • Toma de notas inteligente
    Únete a más de 22 millones de estudiantes que aprenden con nuestra app StudySmarter.