Este programa en Java cuenta la frecuencia de las palabras en un archivo de texto y muestra el recuento total de palabras, el recuento total de caracteres y el recuento total de caracteres en el archivo.
- La complejidad computacional de cada línea del algoritmo es la siguiente:
- Lectura del archivo de texto: Lineal, O(n), donde n es el número de líneas en el archivo.
- Conteo de caracteres en la línea: Lineal, O(m), donde m es la longitud de la línea.
- División de la línea en palabras: Lineal, O(k), donde k es el número de palabras en la línea.
- Actualización de la frecuencia de cada palabra en el mapa: Constante, O(1), ya que es una operación de acceso y actualización en un mapa hash.
- Creación de una lista a partir de las entradas del mapa: Lineal, O(p), donde p es el número de entradas en el mapa.
- Ordenamiento de la lista en función de los valores de frecuencia: O(n log n) donde n es el número de elementos en la lista a ordenar.
- Impresión del recuento de palabras y caracteres: Lineal, O(p), donde p es el número de entradas en la lista.
Para ejecutar el programa, sigue estos pasos:
- Asegúrate de tener instalado Java en tu sistema.
- Clona este repositorio en tu máquina local.
- Compila el programa utilizando el comando
javac Main.java
. - Ejecuta el programa utilizando el comando
java Main
.
Las contribuciones son bienvenidas. Si encuentras algún problema o quieres mejorar el programa, no dudes en crear un pull request o abrir un issue en el repositorio.