Universidad Nacional de Colombia
Facultad de Ingeniería
Estructuras de Información. 2006-1. Grupo 6
Proyecto: Ganarle a Google
Motivados por la velocidad de Google para realizar búsquedas se
propone emplear un Trie para mantener la ubicación de
palabras en uno o más documentos.
Dado un texto plano (codificación ASCII) carta.txt, hacer dos
programas (creatrie y buscatrie) que puedan llamarse
de las siguientes formas:
- creatrie palabras.ind carta.txt
que construirá un trie con las palabras del texto plano
carta.txt y lo salvará
en un formato apropiado (escogido por usted) en el
archivo palabras.ind
- buscatrie palabras.ind "amor"
que leerá el trie salvado en palabras.ind y lo empleará
para buscar la palabra "amor" y presentar una lista de
las posiciones en las que la palabra aparecía en carta.txt.
Basta presentar una lista de las posiciones especificadas como
el número de caracter dentro del archivo en el que aparecía la
palabra.
Ayudas
Este pendiente de otras ayudas que se podrían publicar aquí.
Opcional
- Completar los programas para que la posición conste
de: Nombre del archivo, número de caracter, número de fila y
número de columna.
- Completar creatrie para que reutilice un índice
existente. De forma que si palabras.ind ya existe,
lo lee, inserta las palabras del texto y vuelve a escribir
el indice en palabras.ind.
- Estime cuantas posiciones en textos en español podrían
indexarse si cuenta con 512MB en RAM.
- ¿Cómo podría organizarse la información del Trie en disco
de manera que no tuviera que estar en RAM y aún así el tiempo
de respuesta fuera bueno?
Dominio público. 2006. Contacto: Vladimir Támara Patiño (vtamara@pasosdeJesus.org).