“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?
- ¿Cuál es la explicación teórica más fácil posible sobre el algoritmo de clasificación de burbujas y el programa que usa C, ya que soy un viejo estudiante de 50 años completamente nuevo en programación?
- ¿Es mejor hacer InterviewBit ahora (actualmente estoy en mi quinto semestre) o hacer SPOJ ahora y luego hacer InterviewBit solo 3 o 4 meses antes de las entrevistas? Solo conozco algunas estructuras de datos y algoritmos básicos. He hecho 40 problemas en SPOJ.
- ¿Cuál es el proceso de ejecución exacto de imprimir permutaciones de cadena de forma recursiva?
- ¿Qué algoritmos de máquina requieren escala / normalización de datos?
- ¿Cuántas veces se realiza la comparación [código] i> = n [/ código] en el siguiente programa? [código] int i = 200, n = 110; main () {while (i> = n) {i = i-1; n = n + 1;}} [/ código]
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)