El problema, como se indicó, es impreciso. Supongamos que está buscando un elemento en particular por valor, y la “lista” es una matriz ordenada, y lo único que importa es la cantidad de comparaciones. (Es completamente posible que en la práctica la búsqueda secuencial pueda ser más rápida en un problema de tamaño 1024, por ejemplo, en una máquina de ejecución ultra-canalizada o paralela).
Quizás una fuente de error es que está comparando el peor de los casos con el comportamiento real. No siempre toma 10 comparaciones en la búsqueda binaria, y no siempre toma exactamente 592 comparaciones en la búsqueda secuencial.
Comparando el peor de los casos, podríamos decir que la búsqueda binaria es 1024/10 = aproximadamente 100 veces mejor.
- ¿Cuál es la negación de min y max?
- ¿No fue [math] flag [B] [/ math] modificado por thread [math] B [/ math] antes de [math] read_ {B} (flag [A] == false) [/ math]? ¿Por qué es una contradicción?
- ¿Cuáles son algunos problemas simplemente en teoría de grafos o combinatoria para estudiantes universitarios?
- ¿Cómo es tomar X en Y College ?: ¿Cómo es tomar 6.856 (Algoritmos aleatorios) en MIT?
- ¿Cómo explica matemáticamente la conversión de tipos?
Si en su lugar trabajamos a través de la búsqueda binaria elemento por elemento, entonces podríamos obtener un número exacto de comparaciones que difiere de 10. Dean Carpenter trabajó en el ejemplo y mostró que solo se necesitan 6 comparaciones para encontrar 592, pero esto depende de que siempre escojamos n / 2 para verificar primero, no n / 2-1 (es decir, mirando el índice 512 en lugar de 511).