Anda di halaman 1dari 6

Nombre de la materia

Algoritmos y estructuras de datos

Nombre de la Licenciatura
Ingenieria en sistemas computacionales
Nombre del alumno
Felipe de Jesus Rodriguez Delgado

Matrícula
000044130

Nombre de la Tarea
Actividad 6

Unidad 4
Árboles

Nombre del Profesor


Sandra Castillo Lopez

Fecha
18/06/17
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.


Favor de cargar el documento en el apartado de tarea 6.

2
Unidad 4: Árboles
Algoritmos y estructuras de datos

Forma de evaluació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 del árbol en la


pantalla. (Valor 3.0 puntos.)

Desarrollo de la actividad:

Ejercicio :

Tu tarea consiste en modificar el proyecto 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 de la lista en pantalla.

3
Unidad 4: Árboles
Algoritmos y estructuras de datos

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

private void ImprimirPre(Nodo reco)


{
if (reco != null)

4
Unidad 4: Árboles
Algoritmos y estructuras de datos

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


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

5
Unidad 4: Árboles
Algoritmos y estructuras de datos

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

Anda mungkin juga menyukai