Nein. Obwohl die Frage in Gleitkomma-Arithmetik formuliert ist, handelt es sich im Kern um eine Frage zur binären Suche. Die binäre Suche ist ein optimaler Algorithmus unter Algorithmen, die auf einem Entscheidungsbaum basieren (z . B. https://stackoverflow.com/q/4571478/491171 ). Alle Lehrbücher für Datenstrukturen und Algorithmen sollten dies diskutieren.
Wenn Sie bei jedem Schritt eine binäre Entscheidung treffen können (ein Vergleich), können Sie intuitiv höchstens eine Information lernen, indem Sie den Suchbereich partitionieren. Das optimale Verhalten besteht immer darin, den Suchbereich in zwei Hälften zu teilen. Wenn einen von Werten annehmen kann , muss die Tiefe eines (binären) Entscheidungsbaums, der mindestens Blätter enthält, sein mindestens . Die binäre Suche erreicht diese Grenze von Schritten. Diese Analyse wendet sowohl das erwartete Verhalten an, wenn alle gleich wahrscheinlich sind, als auch das Worst-Case-Verhalten.an=|high−low|/ϵmachn∼log2nlog2na
Wenn Sie einige andere Informationen haben, dann würde es notwendig sein , um genauer zu sein über das, was bedeutet , dass es für „unbekannten“ zu sein, welche Operationen in dem Algorithmus erlaubt sind, und was es bedeutet, „effizienter“ zu sein. (So wie es ist, habe ich sie auf herkömmliche Weise interpretiert.)a