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

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

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

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