You are on page 1of 4

Programacin IV.

Gua 9

Facultad:
Ingeniera
Escuela:
Computacin
Asignatura: Programacin IV

Tema: Aplicacin de rboles en C#.


Objetivos Especficos

Definir el concepto de la estructura de datos rbol.

Implementar distintos programas de aplicacin de la estructura de datos rbol en C #.

Materiales y Equipo
Gua Nmero 9.
Computadora con programa Microsoft Visual C#.

Introduccin Terica
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.
Bsquedas.
Un rbol binario de bsqueda, es un rbol binario con la propiedad de que todos los elementos
almacenados en el subrbol izquierdo de cualquier nodo x son menores que el elemento
almacenado en x, y todos los elementos almacenados en el subrbol 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 bsqueda, pero sin omitir las coincidencias. Se basa en ir
construyendo poco a poco el rbol binario introduciendo cada uno de los elementos, los cuales
quedarn ya ordenados. Despus, se obtiene la lista de los elementos ordenados recorriendo el
rbol en forma inorden.

2 Programacin IV. Gua 9

Procedimiento
Ejemplo 1. Retomando el cdigo realizado en la Gua anterior (Gua No.8), agregar los
mtodos para implementar los tres tipos de recorrido de un rbol binario: inorden, preorden y
postorden.
Agregar el siguiente cdigo:
// Mtodo de recorrido en Pre-Orden
static void RecorridoPreorden(NodoT Raiz)
{
if (Raiz != null)
{
Console.Write("{0}, ", Raiz.Informacion);
RecorridoPreorden(Raiz.NodoIzquierdo);
RecorridoPreorden(Raiz.NodoDerecho);
}
}
// Mtodo de recorrido en In-Orden
static void RecorridoInorden(NodoT Raiz)
{
if (Raiz != null)
{
RecorridoPostorden(Raiz.NodoIzquierdo);
Console.Write("{0}, ", Raiz.Informacion);
RecorridoPostorden(Raiz.NodoDerecho);
}
}
// Mtodo 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 comprobacin del cdigo anterior en interfaz grfica de formulario (Windows Forms).

Programacin IV. Gua 9

Anlisis de resultados
Resolver los ejercicios propuestos en interfaz grfica de formulario (Windows Forms).

Ejercicio 1.
Se dispone de un rbol binario de elementos de tipo entero.
Escribir un programa que calcule a travs de un men:

a) la suma de los elementos.


b) la suma de los elementos que son mltiplos 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 indicacin si son o no iguales y
porqu.

Investigacin Complementaria

Para la siguiente semana:


Implementar en interfaz grfica de formulario (Windows Forms), el ejercicio propuesto.
Dado un rbol binario de bsqueda construir su rbol espejo.
rbol espejo es el que se construye a partir de uno dado, convirtiendo el subrbol izquierdo en
subrbol derecho y viceversa.
La aplicacin debe mostrar como salida el rbol original y el rbol espejo.

4 Programacin IV. Gua 9

Hoja de cotejo:

Gua 9: Aplicacin de rboles en C#.


Alumno:

Mquina No:

Docente:

GL:

Fecha:

EVALUACIN
%
CONOCIMIENTO

Del 20
al 30%

APLICACIN
DEL
CONOCIMIENTO

Del 40%
al 60%

ACTITUD

Del 15%
al 30%

TOTAL

100%

1-4

5-7

8-10

Conocimiento
deficiente
de los
fundamentos
tericos

Conocimiento
y explicacin
incompleta de
los
fundamentos
tericos

Conocimiento
completo y
explicacin
clara de los
fundamentos
tericos

No tiene
actitud
proactiva.

Actitud
propositiva y
con
propuestas no
aplicables al
contenido de
la gua.

Tiene actitud
proactiva y
sus propuestas
son concretas.

Nota

You might also like