Objetivos Introducción

Anuncio
Programación III, Guía 6
1
Facultad : Ingeniería
Escuela : Computación
Asignatura: Programación III
Tema: “ÁRBOLES BINARIOS”.
Objetivos
.* Implemente la estructura de datos arboles utilizando C#. NET.
.* Conozca los recorridos más comunes en los árboles.
Introducción
En ciencias de la computación, un árbol binario es una estructura de
datos en la cualcada nodo siempre tiene un hijo izquierdo y un hijo
derecho. No pueden tener más de dos hijos (de ahí el nombre ‘Binario’).
Si algún hijo tiene como referencia a null, es decir que no almacena
ningún dato, entonces este es llamado un nodo externo. En el caso
contrario el hijo es llamado un nodo interno.
Terminología:
Nodo: Cada elemento en un árbol.
Nodo Raíz: Primer elemento agregado al árbol.
2
Programación III, Guía 6
Nodo Padre: Se le llama así al nodo predecesor de un elemento.
Nodo Hijo: Es el nodo sucesor de un elemento.
Nodo Hermano: Nodos que tienen el mismo nodo padre
Nodo Hoja: Aquel nodo que no tiene hijos.
Programación III, Guía 6
3
Subárbol: Todos los nodos descendientes por la izquierda o
derecha de un nodo.
Altura y Niveles:
La altura es la cantidad de niveles.
4
Programación III, Guía 6
Recorrido del árbol:
Recorrer el árbol significa que cada nodo sea procesado una vez en una secuencia
determinada.
Existen dos enfoques generales:
Recorrido en Profundidad: El proceso exigen alcanzar las profundidades de un
camino desde la raíz hacia el descendiente más lejano del primer hijo, antes de
proseguir con el segundo.
Recorrido en Anchura: El proceso se realiza horizontalmente desde la raíz a
todos sus hijos antes de pasar con la descendencia de algunos de ellos.
Algoritmos:
Recorrido PreOrden(RID)
void preOrden(ArbolBinario raíz)
{
if(raiz)
{
visitar(raiz–>dato);
preOrden(raiz–>izq);
preOrden(raiz–>der);
Programación III, Guía 6
}
}
El recorrido en
PreOrden del
árbol es el siguiente:
15, 6, 4, 10, 20, 17, 22
Recorrido EnOrden (IRD)
void enOrden(ArbolBinario raíz)
{ if(raiz)
{ enOrden(raiz–>izq);
visitar(raiz–>dato);
enOrden(raiz–>der);
}
}
5
Programación III, Guía 6
6
MATERIAL Y EQUIPO
Nº
Cantidad
Descripción
1
1
Guía de Programación #6,
Programación III
2
1
Dispositivo de memoria
Programación III, Guía 6
PROCEDIMIENTO
7
8
Programación III, Guía 6
Programación III, Guía 6
9
1
0
Programación III, Guía 6
Programación III, Guía 6
1
1
1
2
Programación III, Guía 6
Análisis de resultados.
Crear un método al ejercicio anterior, que realice el recorrido en INORDEN
Investigación complementaria.
• Como determinar la altura del árbol.
• Como determinar la profundidad de un nodo
• Como determinar el número de nodos en cualquier momento.
NOTA: Todo esto aplicarlo al ejercicio de la práctica.
Bibliografía
• DEITEL, HARVEY M. / DEITEL, PAUL J. Cómo programar en C#. Editorial
Pearson Prentice Hall, México 2004.
http://www.ucema.edu.ar/~rst/Algoritmos_y_Estructura_de_Datos/Teoria/5._Arboles_binar
ios.pdf
Descargar