Cool C/C++

Programacion en C/C++

Home Foros
Bienvenido, Invitado
Por favor Identificarse o Registrarse.    Contraseña olvidada?

Arbol balanceado
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: Arbol balanceado
#183
Arbol balanceado Creado el día: 08/11/2011 22:58 Karma: 0
Hola necesito ayuda urgente con este algoritmo. Este algoritmo representa un arbol binario y te imprimi los nodo en postorden osea de menor a mayor, si me puede ayudar para saber como pasar de este codigo a un algoritmo de arbol balanceado porfavor. Tambien si alguien sabe una libreria para q cuando imprima me salga tipo arbol y no verticalmente como me aparecen actualmente. Gracias salu2.



"A la derecha se ubican los mayores y a la izquierda los menores"

#include<stdio.h>
#include<stdlib.h>

typedef struct ns
{
int dato;
struct ns *izq;
struct ns *der;
}nodo;


void pedirdato(int *dato)
{
printf("Ingresar dato:");
scanf("%d",&*dato);
}


void crearnodo(nodo **q,int d)
{
*q=(nodo*)malloc(sizeof(nodo));
(*q)->dato=d;
(*q)->izq=NULL;
(*q)->der=NULL;
}

void insertarnodo(nodo **r)
{
nodo *t1,*t2,*t;
int resp =1, d;
if (*r==NULL)
{
pedirdato(&d);
crearnodo(&*r,d);
}
else
{

while (resp)
{
pedirdato(&d);
t1=t2=*r;
while (t1!=NULL)
{
t2 = t1;
if (d < t2->dato)
t1 = t2->izq;
else
t1 = t2->der;
}
crearnodo(&t,d);
if(d < t2->dato)
t2 -> izq = t;
else
t2 -> der = t;
printf("Hay mas datos 1 seguir 0 parar ");
scanf("%d",&resp);
}
}
}

void imprimir(nodo *r)
{
if (r!=NULL)
{
imprimir(r->izq);
printf("%d\n",r->dato);
imprimir(r->der);
}

}

main()
{
nodo *r=NULL;
insertarnodo(&r);
insertarnodo(&r);
imprimir(r);
}
koc
Navegador Iniciado
Mensajes: 15
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
 
#185
Re: Arbol balanceado Creado el día: 09/11/2011 20:23 Karma: 2
Busca el programa estructuras de datos en la sección Fuentes, ahí tienes implementaciones de árboles binarios, avl, balanceados que te pueden servir de guía
adrianvaca
Administrador
Mensajes: 110
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
El conocimiento es una forma de empezar a ser libre
 
ArribaPágina: 1
obtén los últimos mensajes directamente en tu escritorio