Está en la página 1de 5

Nombre de la materia

Algoritmos y estructuras de datos

Nombre de la Licenciatura
Ing. En Sistemas Computacionales

Nombre del alumno


Eduardo Benito Garcíía

Matrícula
000042192

Nombre de la Tarea
AÁ rboles

Unidad
4

Nombre del Profesor


Sandra Castillo Loí pez

Fecha
23-06-17
Unidad 4: Árboles
Algoritmos y estructuras de datos

Arboles

Introducción:
Un árbol es una estructura de datos bidimensional, no lineal con propiedades especiales. Los
nodos de un árbol contienen 2 o más enlaces. Los arboles cuyos nodos contienen 2 enlaces de
los cuales uno, ambos o ninguno puede ser “null”. El nodo raíz es el primer nodo de un árbol,
cada enlace en el nodo raíz hace referencia a un hijo. El hijo izquierdo es el primer nodo en el
subárbol izquierdo y el hijo derecho es el primer nodo en el subárbol derecho; los hijos de un
nodo específico se llaman hermanos. Un nodo sin hijos se llama nodo hoja. Por lo general los
científicos computacionales dibujan los arboles partiendo desde el nodo raíz, hacia abajo;
exactamente lo opuesto a la manera en que crecen la mayoría de los arboles reales.

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;

2
Unidad 4: Árboles
Algoritmos y estructuras de datos

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

3
Unidad 4: Árboles
Algoritmos y estructuras de datos

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

4
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.

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

También podría gustarte