Unidad 4. Árboles Binarios

    

 Objetivo

Identificar las ventajas de emplear árboles binarios

Instrucciones

Revisar los videos de explicación de los árboles binarios de búsqueda

Pueden revisar las diapositivas o emplearlas de base para su prueba de escritorio

Revisar el ejemplo arbolbin1.java donde vienen métodos de ejemplo

Ejemplo de un árbol que no es correcto, explicar porque en la sesión de revisión

Realizar los ejercicios:

  • ALBERTO TOLENTINO, ANGEL M: 
    • Realizar la prueba de escritorio paso a paso de la eliminación del valor 20  (No implementado) y del recorrido inorden del subárbol derecho del árbol.


    • Considerando un árbol binario, implementar un método que muestre cuantos nodos  son nodos hojas y cuantos no.
  • BENITEZ JUAREZ, MARCO A:
    • Realizar la prueba de escritorio paso a paso de la búsqueda del valor 100  (No implementado) y del recorrido inorden del subárbol derecho del árbol.
    • Considerando un árbol binario, implementar un método que muestre cuantos nodos no son nodos hojas.
  • BLANCO ACOSTA, MANOLO E:
    • Realizar la prueba de escritorio paso a paso de la inserción del valor 2  (No implementado) y del recorrido postorden del subárbol izquierdo del árbol.


    • Considerando un árbol binario, implementar un método que muestre los nodos del subárbol derecho.
  • CASTILLO GUZMAN, IAN YAEL:
    • Realizar las pruebas de escritorio del recorrido en postorden del subárbol derecho del árbol binario y realizar la inserción paso a paso del nodo 43 (no implementado)
    • Implementar un método que elimine las hojas de un árbol binario
  • CRUZ VAZQUEZ, ERIK I.:
    • Realizar las pruebas de escritorio del recorrido en postorden del subárbol derecho del árbol binario y realizar la inserción paso a paso del nodo 10 (no implementado)


    • Implementar un método que elimine el primer nodo hoja de un árbol binario recorriendolo de izquierda a derecha
  • FLORES SERRANO, JESUS ANTONIO
    • Realizar las pruebas de escritorio paso a paso del recorrido en postorden de todo el árbol binario así como la búsqueda del nodo 2 (no implementado)
    • Implementar un método que sume todos los datos pares de todos los nodos de un árbol binario de tipo entero
  • GARATE CRUZ, SEBASTIAN D:
    • Realizar la prueba de escritorio paso a paso de la eliminación del  valor 14  (No implementado) y del recorrido inorden del subárbol izquierdo del árbol.


    • Considerando un árbol binario, implementar un método que muestre los nodos del subárbol izquierdo.
  • GARCIA MARTINEZ, LUIS ANTONIO:
    • Realizar las pruebas de escritorio del recorrido en preorden del subárbol derecho del árbol binario y realizar la eliminación paso a paso del nodo 32 (no implementado)
    • Implementar un método que respalde los valores de las hojas de un árbol binario en un arreglo
  • LEZAMA CRUZ, JOSE M:
    • Realizar las pruebas de escritorio paso a paso de la eliminación del nodo 14 en el siguiente árbol binario y del recorrido postorden de todo el árbol binario(no implementado)
    • Implementar un método que cuente cuantos nodos de un árbol binario de caracteres no son son vocales considerando que tiene almacenados solo caracteres.
  • LOPEZ VICENTE, WEYMAN N:
    • Realizar la prueba de escritorio paso a paso de la búsqueda del valor 9   (No implementado) y del recorrido preorden del subárbol derecho del árbol.


    • Considerando un árbol binario, implementar un método que muestre cuantos nodos  son nodos intermedios del subárbol derecho
  • MENDOZA HERNANDEZ, DANIEL:
    • Realizar la prueba de escritorio paso a paso de la eliminación del valor 15   (No implementado) y del recorrido inorden del subárbol derecho del árbol.


    • Considerando un árbol binario, implementar un método que muestre cuantos nodos  son nodos hojas del subárbol izquierdo
  • MORA CONTRERAS, CARLOS U:
    • Realizar las pruebas de escritorio paso a paso del recorrido en postorden para el subgrafo izquierdo del siguiente árbol  y de la búsqueda del nodo con valor 1 en el árbol binario completo (no implementado).
    • Implementar un método que cuente cuantos nodos de un árbol binario de enteros son múltiplos de 3.
  • OSIO CARMONA, FERNANDO D:
    • Realizar la prueba de escritorio paso a paso de la eliminación del valor 74  (No implementado) y del recorrido preorden del subárbol derecho del árbol.
    • Considerando un árbol binario, implementar un método que muestre cuantos nodos no son nodos hojas y no son el nodo raíz.
  • PALENCIA VAZQUEZ, HUGO A. :
    • Realizar las pruebas de escritorio paso a paso del recorrido en preorden del subárbol derecho del árbol binario y la inserción del nodo 52 (no implementado)


    • Implementar un método que elimine todos los nodos hoja árbol binario de tipo entero
  • PEREZ ARCE, GABRIELA:
    • Realizar las pruebas de escritorio paso a paso de la eliminación del nodo 14 en el siguiente árbol binario y del recorrido inorden de todo el árbol binario(no implementado)
    • Implementar un método que cuente cuantos nodos de un árbol binario de caracteres son vocales considerando que tiene almacenados solo caracteres.
  • RAMIREZ LUIS, CESAR J:
    • Realizar las pruebas de escritorio del recorrido en preorden del subárbol derecho del árbol binario y realizar la eliminación paso a paso del nodo 7 (no implementado)


    • Implementar un método que elimine el primer nodo hoja de un árbol binario recorriendolo de izquierda a derecha
  • RAMOS ROJAS, EMMANUEL:
    • Realizar las pruebas de escritorio del recorrido en preorden del subárbol izquierdo del árbol binario y realizar la eliminación paso a paso del nodo 2 (no implementado)


    • Implementar un método que elimine el primer nodo hoja del subárbol derecho de un árbol binario recorriendolo de izquierda a derecha
  • RODRIGUEZ MARTINEZ, ADRIAN:
    • Realizar las pruebas de escritorio paso a paso del recorrido en preorden para el subgrafo izquierdo del siguiente árbol  y de la eliminación del nodo con valor 36 en el árbol binario completo (no implementado).
    • Implementar un método que cuente cuantos nodos de un árbol binario de enteros son primos.
  • ROMERO DE LA ROSA, ALEXIS
    • Realizar las pruebas de escritorio paso a paso del recorrido inorden del subárbol derecho del árbol binario y la eliminación del nodo 55 (no implementado)


    • Implementar un método que sume los datos de todos los nodos de la rama izquierda de un árbol binario de tipo entero
  • TRINIDAD FLORES, ALEJANDRO:
    • Realizar las pruebas de escritorio paso a paso del recorrido en preorden de todo el árbol binario así como la eliminación del nodo 2 (no implementado)
    • Implementar un método que sume los datos de todos los nodos de un árbol binario de tipo entero

Comentarios

  1. Árboles Binarios

    Método:
    int sumarNodos(Nodo* raiz) {
    if (raiz == nullptr) {
    return 0; // caso base: nodo vacío suma 0
    }

    // suma actual + suma subárbol izquierdo + suma subárbol derecho
    return raiz->dato + sumarNodos(raiz->izquierdo) + sumarNodos(raiz->derecho);
    }

    Archivo completo:
    https://drive.google.com/file/d/1WgVr1T66F95xiU7ZpQCs7pvW7tWFh4Pr/view?usp=sharing

    ResponderEliminar
  2. //Metodo:
    int eliminarHojas(tpuntero* raiz){
    tpuntero actual=*raiz;
    //Checa si el Nodo es una Hoja y vuelve a la llamada anterior
    if(actual->izquierda==NULL&&actual->derecha==NULL){
    return 1;
    }

    if(actual->izquierda!=NULL){
    //Si el nodo izquierdo es una hoja lo libera
    if(eliminarHojas(&actual->izquierda)){
    printf("Nodo %d liberado.\n",actual->izquierda->v);
    free(actual->izquierda);
    actual->izquierda=NULL;
    }
    }
    if(actual->derecha!=NULL){
    //Si el nodo derecho es una hoja lo libera
    if(eliminarHojas(&actual->derecha)){
    printf("Nodo %d liberado.\n",actual->derecha->v);
    free(actual->derecha);
    actual->derecha=NULL;
    }
    }
    //Como el nodo tiene hijos, devuelve negativo y vuelve a la llamada anterior
    return 0;
    }

    Arboles Binarios:
    https://drive.google.com/file/d/1YV5HRAx9Z13S-pvg42VAN5jYIaYnZcH0/view?usp=drive_link

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Unidad 1 Introducción a las estructuras de Datos

Unidad 3 Grafos