Вы находитесь на странице: 1из 6

Nombre de la materia

Algoritmos y estructuras de datos

Nombre de la Licenciatura
Ingenieria en Sistemas Computacionales

Nombre de la Tarea
Actividad 6

Unidad 4
AÁ rboles

Fecha
05/12/2019
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 evaluacioó 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.

3
Unidad 4: Árboles
Algoritmos y estructuras de datos

Código

using System;
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;
}

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)
anterior.izq = nuevo;
else
anterior.der = nuevo;
}
}

4
Unidad 4: Árboles
Algoritmos y estructuras de datos

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)


{
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)


{

5
Unidad 4: Árboles
Algoritmos y estructuras de datos

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);

Console.WriteLine("Impresion preorden: ");


abo.ImprimirPre();
Console.WriteLine("Impresion entreorden: ");
abo.ImprimirEntre();
Console.WriteLine("Impresion postorden: ");
abo.ImprimirPost();
Console.ReadKey();
}
}
}
Conclusiones:
En esta semana pudimos observar el tema sobre “Arboles” en el cual desglosamos
diversos temas los cuales también desglosamos en el desarrollo de esta actividad,
se aprendió se aprendió que los tipos simples son tipos “struct” por valor los cuales
se pueden usar en cualquier parte en la que se esperen los objetos “object” en un
programa, debido a las conversiones “boxing” y “unboxing”, en el desarrollo de
estos temas también pudimos observar o más bien analizar lo que son las listas
enlazadas las cuales son colecciones de elementos de datos que se enlazan entre sí.

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

Вам также может понравиться