Actividad6 Algoritmos y Estructura Datos

Nombre de la materia Algoritmos y estructuras de datos Nombre de la Licenciatura Ingenieria en Sistemas Nombre del alumn

Views 250 Downloads 7 File size 322KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Nombre de la materia Algoritmos y estructuras de datos Nombre de la Licenciatura Ingenieria en Sistemas Nombre del alumno Matrícula xxxxxxxxx Nombre de la Tarea AÁ rboles Unidad 4 4 Nombre del Profesor xxxxxxxxxxx Fecha 21/04/2018

Unidad 4: Árboles Algoritmos y estructuras de datos

¿Sabías qué….? Las árboles binarios son utilzados para comprimir datos, especificamente son utilizados en la codificación Huffman que es usado ampliamente ya que es un sistema válido para la compresión y posterior transmisión de cualquier dato en formato digital, pudiendo aplicarse a faxes, modems, redes de computadoras y televisión.

ACTIVIDAD 6 Objetivos: 

Comprender la implementación y funcionamiento de un árbol binario.

Instrucciones: Después de revisar los videos y los recursos siguientes debes desarrollar la actividad 6.

Lectura 

Como programar en C# (Deitel y Deitel, 2007), capitulo 24: Estructuras de datos (págs. 984-997)

¿Cómo entregar la tarea? Descargar la actividad en archivo de Word y responder directamente en el documento anexando el código fuente del programa. Favor de cargar el documento en el apartado de tarea 6, además cargar los archivos del programa de forma comprimida (en un solo archivo) como evidencia de la actividad para su revisión correspondiente.

2

Unidad 4: Árboles Algoritmos y estructuras de datos

Forma de evaluacioó n: Criterio

Ponderación

Presentación

10%

Desarrollo del ejercicio:

90%



Solicite al usuario un número que se almacenará en el árbol. (Valor 3.0 puntos.)



Guarde el número en el árbol que fue introducido por el usuario. (Valor 3.0 puntos.)



Muestre el contenido y recorridos del árbol

en

la

pantalla.

(Valor

3.0

puntos.)

3

Unidad 4: Árboles Algoritmos y estructuras de datos

Desarrollo de la actividad: Ejercicio : Tu tarea consiste en modificar el proyecto (descargar aquí árboles) y con base a ello realizar un programa de consola en C# que ejecute lo siguiente: 

Solicite al usuario el número a ingresar .



Solicite los elementos a almacenar en el arreglo.



Muestre el contenido y recorridos del árbol en pantalla.

using using using using

System; System.Collections.Generic; System.Linq; System.Text;

namespace ArbolBinarioOrdenado1 { public class ArbolBinarioOrdenado { class Nodo { public int info; public Nodo izq, der; } Nodo raiz; public ArbolBinarioOrdenado() { raiz = null; } public void Insertar(int info) { Nodo nuevo; nuevo = new Nodo(); nuevo.info = info; nuevo.izq = null; nuevo.der = null; if (raiz == null) raiz = nuevo; else { Nodo anterior = null, reco; reco = raiz;

4

Unidad 4: Árboles Algoritmos y estructuras de datos

while (reco != null) { anterior = reco; if (info < reco.info) reco = reco.izq; else reco = reco.der; } if (info < anterior.info) anterior.izq = nuevo; else anterior.der = nuevo; } } private void ImprimirPre(Nodo reco) { if (reco != null) { Console.Write(reco.info + " "); ImprimirPre(reco.izq); ImprimirPre(reco.der); } } public void ImprimirPre() { ImprimirPre(raiz); Console.WriteLine(); } private void ImprimirEntre(Nodo reco) { if (reco != null) { ImprimirEntre(reco.izq); Console.Write(reco.info + " "); ImprimirEntre(reco.der); } } public void ImprimirEntre() { ImprimirEntre(raiz); Console.WriteLine(); } private void ImprimirPost(Nodo reco) {

5

Unidad 4: Árboles Algoritmos y estructuras de datos

if (reco != null) { ImprimirPost(reco.izq); ImprimirPost(reco.der); Console.Write(reco.info + " "); } } public void ImprimirPost() { ImprimirPost(raiz); Console.WriteLine(); } static void Main(string[] args) { int a, b, c, d, e; Console.WriteLine("Escribe elemento a ingresar en el arreglo:"); a = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe elemento a ingresar en el arreglo:"); b = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe elemento a ingresar en el arreglo:"); c = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe elemento a ingresar en el arreglo:"); d = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Escribe elemento a ingresar en el arreglo:"); e = Convert.ToInt32(Console.ReadLine()); ArbolBinarioOrdenado abo = new ArbolBinarioOrdenado(); abo.Insertar(a); abo.Insertar(b); abo.Insertar(c); abo.Insertar(d); abo.Insertar(e); Console.WriteLine("Impresion preorden: "); abo.ImprimirPre(); Console.WriteLine("Impresion entreorden: "); abo.ImprimirEntre(); Console.WriteLine("Impresion postorden: "); abo.ImprimirPost(); Console.ReadKey(); } } }

6

Unidad 4: Árboles Algoritmos y estructuras de datos

7