¿Para qué se utiliza el algoritmo de fuerza bruta?

Respuesta corta: cuando no hay otro algoritmo disponible para acelerar el tiempo de ejecución de un programa.

Respuesta larga:
El algoritmo de fuerza bruta no define un tipo específico de algoritmo. Describe un algoritmo que verifica cada escenario posible en lugar de usar algún tipo de truco para acelerar el proceso. Por ejemplo, si buscara una palabra en el diccionario, podría hacerlo de varias maneras.

El enfoque de la fuerza bruta sería comenzar desde el principio y verificar cada palabra porque, en el peor de los casos, negaría cualquier otro escenario. Por lo tanto, su tiempo de ejecución sería O (n) (requiere tantos pasos para encontrar la solución como palabras de entrada en el diccionario)

Un truco más rápido para hacer esto sería abrir el diccionario en el medio. Si la palabra que busca aparece antes del punto medio, marque el centro de la primera parte. Seguiría dividiendo el libro por la mitad hasta que encontrara su palabra. Esto tomaría O (log (n)).

Digamos que nuestro diccionario tiene 8 palabras en el peor de los casos, el método de fuerza bruta tomaría 8 pasos y la búsqueda binaria como se llama tomaría 3. No hay mucha diferencia, pero si tuviéramos que aumentar el tamaño a 1,000,000 palabras, el algoritmo de fuerza bruta en su peor caso tomaría 1,000,000 de comparaciones, pero la búsqueda binaria tomaría 20.

Utilizamos métodos como la búsqueda binaria para ayudar a acelerar nuestro proceso, pero cuando no hay ningún método disponible para acelerar nuestro proceso y tenemos que considerar cada escenario. Decimos que nuestro algoritmo es un algoritmo de fuerza bruta.