Download Tema: Aplicación de Árboles en C
Document related concepts
Transcript
Programación IV. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Aplicación de Árboles en C#. Objetivos Específicos • Definir el concepto de la estructura de datos Árbol. • Implementar distintos programas de aplicación de la estructura de datos Árbol en C #. Materiales y Equipo • Guía Número 9. • Computadora con programa Microsoft Visual C#. Introducción Teórica Un árbol binario es una estructura de datos útil cuando se trata de hacer modelos de procesos en donde se requiere tomar decisiones en uno de dos sentidos en cada parte del proceso. Búsquedas. Un árbol binario de búsqueda, es un árbol binario con la propiedad de que todos los elementos almacenados en el subárbol izquierdo de cualquier nodo “x” son menores que el elemento almacenado en “x”, y todos los elementos almacenados en el subárbol derecho de “x” son mayores que el elemento almacenado en “x”. Ordenamiento. Para ordenar los elementos de un arreglo en sentido ascendente, se debe construir un árbol similar al árbol binario de búsqueda, pero sin omitir las coincidencias. Se basa en ir construyendo poco a poco el árbol binario introduciendo cada uno de los elementos, los cuales quedarán ya ordenados. Después, se obtiene la lista de los elementos ordenados recorriendo el árbol en forma “inorden”. 2 Programación IV. Guía 9 Procedimiento Ejemplo 1. Retomando el código realizado en la Guía anterior (Guía No.8), agregar los métodos para implementar los tres tipos de recorrido de un árbol binario: inorden, preorden y postorden. Agregar el siguiente código: // Método de recorrido en Pre-Orden static void RecorridoPreorden(NodoT Raiz) { if (Raiz != null) { Console.Write("{0}, ", Raiz.Informacion); RecorridoPreorden(Raiz.NodoIzquierdo); RecorridoPreorden(Raiz.NodoDerecho); } } // Método de recorrido en In-Orden static void RecorridoInorden(NodoT Raiz) { if (Raiz != null) { RecorridoPostorden(Raiz.NodoIzquierdo); Console.Write("{0}, ", Raiz.Informacion); RecorridoPostorden(Raiz.NodoDerecho); } } // Método de recorrido en Post-Orden static void RecorridoPostorden(NodoT Raiz) { if (Raiz != null) { RecorridoPostorden(Raiz.NodoIzquierdo); RecorridoPostorden(Raiz.NodoDerecho); Console.Write("{0}, ", Raiz.Informacion); } } Hacer la comprobación del código anterior en interfaz gráfica de formulario (Windows Forms). Programación IV. Guía 9 3 Análisis de resultados Resolver los ejercicios propuestos en interfaz gráfica de formulario (Windows Forms). Ejercicio 1. Se dispone de un árbol binario de elementos de tipo entero. Escribir un programa que calcule a través de un menú: a) la suma de los elementos. b) la suma de los elementos que son múltiplos de 2, de 3 y de 5. Ejercicio 2. Escribir un programa que determine si dos árboles binarios son iguales. Debe mostrarse como salida los dos árboles comparados y la indicación si son o no iguales y porqué. Investigación Complementaria Para la siguiente semana: Implementar en interfaz gráfica de formulario (Windows Forms), el ejercicio propuesto. Dado un árbol binario de búsqueda construir su árbol espejo. Árbol espejo es el que se construye a partir de uno dado, convirtiendo el subárbol izquierdo en subárbol derecho y viceversa. La aplicación debe mostrar como salida el árbol original y el árbol espejo. 4 Programación IV. Guía 9 Hoja de cotejo: Guía 9: Aplicación de Árboles en C#. Alumno: Máquina No: Docente: GL: 9 Fecha: EVALUACIÓN % CONOCIMIENTO Del 20 al 30% APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% TOTAL 100% 1-4 5-7 8-10 Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. Nota