Búsqueda binaria para encontrar el punto de rotación en una lista ordenada rotada

Tengo una lista ordenada que se rota y me gustaría hacer una búsqueda binaria en esa lista para encontrar el elemento mínimo.

Supongamos que la lista inicial es {1,2,3,4,5,6,7,8} lista girada puede ser como {5,6,7,8,1,2,3,4}

La búsqueda binaria normal no funciona en este caso. Alguna idea de cómo se hace esto.

- Editar

Tengo otra condición. ¿Qué pasa si la lista no está ordenada?

Respuestas a la pregunta(2)

Su respuesta a la pregunta