Dada una lista de palabras, ¿encuentra cuántas veces aparece cada palabra en los 20000 archivos dados?

“El algoritmo era tomar una palabra, escanear todo el archivo y contar la frecuencia de las palabras; luego repetir el proceso para la siguiente palabra”.

sí, esto es muy ineficiente, está escaneando todo el archivo por cada palabra
asi que
10000 * 10000 escaneos del archivo para cada archivo (para un total de 20000 archivos)

¿Por qué no intentas algo como esto?

  para f en archivos:
     countWord = {}
     por palabra en f:
         countWord [palabra] + = 1
         #find frecuencia de palabras normalizadas aquí

puede encontrar la frecuencia de palabra normalizada iterando sobre cada entrada en countWord

Edit1: (creo que entendí mal la explicación)
¡Aún así, 50 horas es mucho!
Tal vez su método de entrada es un cuello de botella.

Intente leer todo el archivo de una vez y use alguna función incorporada como esta para obtener el recuento
array_count_values ​​- Manual (php.net)

Soy estudiante de derecho, ¡y tuve este problema hace un par de semanas! Encontré este sitio Count Words Online y me ayudó mucho 🙂

More Interesting

¿Cuál es la complejidad del tiempo para una solución iterativa de la serie Fibonacci?

¿Por qué la notación O grande no se parece más a O (c) y O (cn) en lugar de a O (1) y O (n), esto último no tiene sentido?

¿Es este un algoritmo correcto para verificar si un árbol es una búsqueda binaria?

¿Dónde puedo encontrar a alguien dispuesto a enseñarme estructura de datos y algoritmos de forma gratuita o a un costo muy barato?

Si estudié modelado matemático financiero avanzado en la universidad con un coeficiente intelectual de 145, ¿con qué probabilidad podría construir un algoritmo HFT rentable?

Creamos un algoritmo de software único para medir / cuantificar las diferencias de las imágenes a escala nano-planetaria. ¿Cómo monetizamos esto?

¿Qué es una cola en la estructura de datos?

¿Cómo funcionan los algoritmos de alimentación de noticias?

¿Cuál es la habilidad más importante para desarrollar en algoritmos?

Cómo convertir 8.426661309628124e + 22 a 84266613096281243382112 en Javascript

¿Cuál es el algoritmo más eficiente en el tiempo para encontrar el número de divisores de un número?

¿Cómo manejan los sistemas de reputación los sesgos (sistémicos) que pueden distorsionar significativamente las clasificaciones basadas en tales sistemas?

¿Cuál es el algoritmo más utilizado a nuestro alrededor?

¿Cuál es el mejor algoritmo de búsqueda en programación?

Recientemente llegué a un llamado indicador de opciones binarias del sitio web 'www.investoo.com' que afirma una tasa de éxito del 83% al predecir el resultado de las opciones binarias. ¿Es una estafa?