Algoritmia - un arbol dentro de otro

 
Vista:

un arbol dentro de otro

Publicado por caio (2 intervenciones) el 27/07/2001 15:42:44
hola q tal.-
es simple..........necesito saber el algoritmo q detecte si un arbol X esta dentro de un arbol Y .- (estoy hablando de arboles binarios).-
gracias.-
chau
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:un arbol dentro de otro

Publicado por Emilio (5 intervenciones) el 29/07/2001 09:54:08
Aqui te mando el algoritmo que hice en este momento claro que puede tener un error por aqui o por alla te recomiendo que lo cheques bien:

Digamos que la struct es de nombre node y tiene una int como data por ejemplo:

typedef struct NODE {
int data;
NODE *R;
NODE *L;
}node;

bool check(node *y,node *x)
{
if(!y) return false;
return check(y->R,x)||check(y->L,x)||search(y,x);
}

bool search(node *y,node *x)
{
if(!x) return true;
if(!y) return false;
if(y->data!=x->data) return false;
return search(y->R,x->R)&&search(y->L,x->L);
}

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:un arbol dentro de otro

Publicado por Emilio (5 intervenciones) el 29/07/2001 09:57:34
Tienes que llamar a la funcion check con los dos punteros a los arboles tomando en cuenta que x esta dentro de y
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar