Pascal/Turbo Pascal - Manejo de arboles binarios de busqueda

 
Vista:

Manejo de arboles binarios de busqueda

Publicado por Adrian Quesada (1 intervención) el 13/04/2003 11:18:22
Buenas necesito ayuda dee como construir un programa en Pascal que reciba un texto compuesto por una lista enlazada, guarde las palabras en un arbol binario de busqueda y luego revise si existen con la tecla f7 en un nuevo texto. gracias
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:Manejo de arboles binarios de busqueda

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 14/04/2003 23:02:11
Porque no describes unpoco mejor el algoritmo no me suena lo del árbol de búsqueda.
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:Manejo de arboles binarios de busqueda

Publicado por César NAvarro (182 intervenciones) el 19/04/2003 04:18:28
Disculpas por la descripcion.
Lo que necesito es un procedimiento que, en base a una lista enlazada que representa un texto, descomponga esa lista y tome palabra por palabra deel texto y la guarde en un arbol binario de busqueda, y que a su vez si la palabra existe ya en ese arbol, haga la indicacion. Todo se debe manejar en memoria, por lo que al salir del programa se borrara
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:Manejo de arboles binarios de busqueda

Publicado por elespa (40 intervenciones) el 15/04/2003 11:33:48
Divide y venceras. Lo poco que puedo entresacar de tus palabras y desde aqui pido porque creo que es imprescindible para resolver cualquier duda es que seais un poco más específicos en vuestras preguntas, y a falta del mismo que pongais un ejemplo que todo se entiende mejor.
Una pista de lo que puedes realiar es:
ir recorriendo la lista con un while mismamente hasta que el siguiente sea nil y crearte un procedimiento que te vaya insertando en el arbol cada caracter. Y despues ir recorriendo el segundo texto comprobando si exite dicho caracter en el arbol. No se si te ha servido de mucho, pregunta y seras respondido. Un saludo
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:Manejo de arboles binarios de busqueda

Publicado por elespa (40 intervenciones) el 19/04/2003 04:23:32
Pido disculpas por no ser mas claro. Veamos si esto ayuda.
Lo que necesito hacer, es un programa que reciba un texto, que estara elaborado mediante una lista simple enlazada, tome palabra por palabra de esa lista y las vaya guardando en un arbol binario de busqueda y si una de estas existe ya en este arbol pues informe de la situacion y si no que pregunte si desea guardarla. Tiene que ser en memoria, entonces cuando se cierre el programa y se vuelva a abrir, pues comenzara de cero. Basicamente lo que ocupo es como dividir el texto para que sea palabra por palabra y no una sola cadena y poder guardarla en el arbol. Gracias
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:Manejo de arboles binarios de busqueda

Publicado por César Augusto Navarro Gómez (182 intervenciones) el 23/04/2003 16:07:23
Bueno la solución puede ser demasiado sencilla o bien la puedes crear tan compleja como se requiera.

Quue es lo que define las palabras?Letras, si te das cuenta sabes que una palabra termina en una cadena cuando encuentras un caracter diferente a una letra
por ejemplo
cadena -> "Ese oso se asea"
si recorres 'cadena' obtendrás los siguientes caracteres
E es un caracter válido para una palabra
s es un caracter válido para una palabra
e es un caracter válido para una palabra
'espacio' es un caracter inválido
por lo que aquí termina una palabra.
Simplemente es un ciclo while
palabra:='';
i:=1;

while upcase(cadena[i]) in ['A'..'Z'] do
begin
palabra:=palabra+cadena[1];
inc (i);
end;

Solo termina la función y listo, considera el fin de la cadena, talvez los números, etc.

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