Hola me gustaria que alguien me ayudara a hacer un programa en c++ con sus correspondientes clases mediante arboles AVL para que pasandole los datos al arbol de un fichero que es un diccionario de terminos realize una busqueda de resultados posibles cuando ponga una letra por la que empieza una palabra de manera que siempre devuelva 5 primeros resultados posibles.
Si se realiza un recorrido en Inorden
de dicho árbol, el resultado será un listado de las palabras ordenadas. Esta
característica puede servir para resolver el problema del texto predictivo, puesto
que las palabras que deseamos que aparezcan corresponden con las siguientes a
esa palabra en ese recorrido en Inorden.
Para hacer eciente este proceso se necesitaría realizar el recorrido en Inorden
de forma no recursiva utilzando una pila. De este modo no es necesario hacer
todo el recorrido del diccionario, sino que de partiría de la palabra que estoy
buscando.
Para realizar un recorrido en Inorden no recursivo se utiliza una pila siguiendo
el siguiente esquema en pseudocódigo:
FUNCTION recorreInordenNR (Nodo *ptr){
boolean seguir = true
Pila p
WHILE (seguir){
if (ptr <> null){
p.push (ptr)
p = p->izq
}
else {
if (!pila.empty()){
ptr = pila.pop()
//procesando dato ptr->dato
ptr = ptr->der
}
else seguir = false
}
}
}
La clase de arbol AVL ya la tengo echa con template. Ahora tengo que implentar la clase DiccPredictivo heredando de la clase Avl<T> y que
tenga básicamente una función, la clase busquedaPredictiva(const string
&termino).