Digamos que estamos buscando el término “vuelo” en nuestra bandeja de entrada.
Podríamos obtener todos los resultados de la búsqueda, contarlos y luego descartar todo excepto las primeras 20 coincidencias. ¿Suena derrochador? ¿Especialmente si estamos hablando de decenas, si no cientos de miles de correos electrónicos? ¿Especialmente si estamos hablando de millones de usuarios que usan la aplicación simultáneamente? Muy derrochador.
Entonces, en lugar de eso, podemos hacer trampa (también conocido como optimizar):
Busque los primeros 20 correos correspondientes para “vuelo” a partir de ahora y retroceda en el tiempo.
Cuando alcanzamos 20 resultados, dejamos de buscar. De esta manera, solo barajamos ~ 100-1000 correos electrónicos en lugar de todos. Esta es una optimización maravillosa para obtener los mismos resultados de búsqueda , “¿Pero cómo podemos tener algún tipo de sentido en el recuento total ?”, Escuché que preguntas.
- ¿Qué es el algoritmo round-robin?
- ¿Qué es un algoritmo eficiente para encontrar un número mágico?
- ¿Cuál es el enfoque para resolver YODANESS - Yodaness Level?
- Teoría de grafos: ¿en qué se diferencian los árboles de expansión construidos a partir de Prim de los árboles de expansión construidos a partir de Kruskal?
- Cómo implementar este algoritmo usando Matlab
Podemos extrapolar. Si descubrimos que el vigésimo correo electrónico más reciente sobre “vuelo” fue hace 2 meses, y sabemos que esta dirección de Gmail fue creada hace 1 año, entonces podríamos hacer una simple aritmética para estimar el número total:
[matemáticas] \ frac {1 \; año 2 \; meses} \ veces 20 \ aprox 120 \; total \, coincide con [/ math]
En el caso no tan frecuente cuando el usuario decide ir a la página 2, simplemente podemos continuar buscando hasta que encontremos los siguientes 20 correos coincidentes, y nuestro número total se autocorregirá en el camino, con suerte convergiendo hacia el recuento real Digamos, en la segunda página, el partido # 40 se recibió hace 3 meses, entonces nuestra estimación se vería así:
[matemáticas] \ frac {1 \; año} {3 \; meses} \ veces 40 \ aprox 160 \; total \, coincide con [/ math]
Y así…
¿Qué pasa con muchos , entonces?
Buena pregunta. Este tipo de optimización solo funciona bien si la distribución de coincidencias es pareja. Podría ser que Gmail analiza cómo fueron las coincidencias que encontró hasta ahora, y si son esporádicas, en lugar de decir algo extravagante como “1-20 de aproximadamente 47827” (que podría ser como el 80% de su correo entrante total) solo dicen muchos , para salvar la cara y no parecer tontos.
No conozco los aspectos internos de Gmail, por lo que esta es una suposición educada de mi parte.
AKA esta es una forma en que podría hacerlo / trataría de hacerlo si tuviera que construir algo similar.