Binaire de recherche pour trouver le point de rotation dans une zone de liste triée

J'ai une liste triée, qui est mis en rotation et voudraient faire une recherche binaire sur la liste pour trouver le minimum de l'élément.

Laisse supposer liste initiale est {1,2,3,4,5,6,7,8}
rotation de la liste peut être comme {5,6,7,8,1,2,3,4}

Normal binaire de recherche ne fonctionne pas dans ce cas. Une idée de comment faire cela.

-- Edit

J'ai une autre condition. Que faire si la liste n'est pas triée??

  • Suis-je le seul qui, lorsqu'lit "liste" pense à une structure de données qui ne prend pas en charge l'accès aléatoire?
  • même si vous n'êtes pas le seul, c'est encore une mauvaise conclusion à faire. En Java, ArrayList<E> implements List<E>, RandomAccess. D'autre part, LinkedList<E> n'est pas RandomAccess.
  • Juste comme je le pensais. Le problème avec java 🙂 Thx.
InformationsquelleAutor Boolean | 2010-05-09