Nombre de la materia Algoritmos y estructuras de datos Nombre de la Licenciatura Ing. Sistemas Computacionales Nombre de
Views 61 Downloads 0 File size 384KB
Nombre de la materia Algoritmos y estructuras de datos Nombre de la Licenciatura Ing. Sistemas Computacionales Nombre del alumno Cesar Omar Perez Martinez Matrícula 010214824 Nombre de la Tarea Tarea semana 6 Unidad 4 Á rboles Nombre del Profesor Ricardo Perez Aguila Fecha 16/02/2020
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.
Forma de evaluació n:
2
Unidad 4: Árboles Algoritmos y estructuras de datos
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.)
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
System;
3
Unidad 4: Árboles Algoritmos y estructuras de datos
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace ArbolBinarioOrdenado1 { public class ArbolBinarioOrdenado { class Nodo { public int info; public Nodo izq, der; } Nodo raiz;
public ArbolBinarioOrdenado() { raiz = null;
4
Unidad 4: Árboles Algoritmos y estructuras de datos
}
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; while (reco != null) { anterior = reco; if (info < reco.info) reco = reco.izq; else reco = reco.der; } if (info < anterior.info)
5
Unidad 4: Árboles Algoritmos y estructuras de datos
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) {
6
Unidad 4: Árboles Algoritmos y estructuras de datos
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) { if (reco != null) { ImprimirPost(reco.izq);
7
Unidad 4: Árboles Algoritmos y estructuras de datos
ImprimirPost(reco.der); Console.Write(reco.info + " "); } }
public void ImprimirPost() { ImprimirPost(raiz); Console.WriteLine(); }
static void Main(string[] args) { int valor; string linea; ArbolBinarioOrdenado abo = new ArbolBinarioOrdenado(); do { Console.Write("Ingrese cualquier numero:"); linea = Console.ReadLine(); valor = int.Parse(linea); if (valor >= 1) ; } while (valor!=0);
8
Unidad 4: Árboles Algoritmos y estructuras de datos
Console.WriteLine("Impresion preorden: "); abo.ImprimirPre(); Console.WriteLine("Impresion entreorden: "); abo.ImprimirEntre(); Console.WriteLine("Impresion postorden: "); abo.ImprimirPost(); Console.ReadKey(); } } }
9
Unidad 4: Árboles Algoritmos y estructuras de datos
Conclusiones: En este tema se aprendió que los tipos simples son tipos “struct” por valor, pero de todas formas pueden usarse en cualquier parte en la que se esperen los objetos “object” en un programa, debido a las conversiones “boxing” y “unboxing”. También se aprendió que las listas enlazadas son colecciones de elementos de datos que se enlazan entre sí en una cadena; de igual manera en un programa se pueden realizar inserciones y eliminaciones en cualquier parte de una lista enlazada. También vimos arboles binarios de búsqueda que facilita las búsquedas de alta velocidad y la ordenación de los datos, además de una eficiente eliminación de los valores duplicados.
1 0
Unidad 4: Árboles Algoritmos y estructuras de datos
Bibliografía: Cómo
programar
en
C# (Deitel
&
Deitel,
2007)
http://aulavirtual.utel.edu.mx/lib/ebook_pearson.php?id_ebook_pearson=158
Recorrido
árbol (Instituto
Tecnológico
de
Tijuana,
s/f).
http://gc.initelabs.com/syllabus/cloud/visor.php? container=L1IS104_1035_615_35451_0 &object=Recorrido_arbol.pdf
1 1