Nehmen Sie Integer-Schlüssel mit sortierten Tasten Array: int[] keys = {10,20,30,40,50,60,70};
Also zunächst in den Rang lo = 0
und hi = 6
.Für binäre Suche nach Schlüsseln in einem Array, was ist der endgültige Wert von lo oder hi?
Für binäre Suche nach 30 in der Schlüssel-Array, wäre der Endwert von lo 20, was 1 ist?
Ich muss nur die Logik verstehen.
Was passiert, wenn es etwas sucht, das nicht auf der Liste ist? wie Beispiel 5? wäre high 0 und low wäre -1? – yummyyenni
Bitte beachten Sie meine aktualisierte Erklärung oben. Im Fall von 5 würden Sie auf "lo = -1" stoßen, was auch nicht möglich ist, und daher wird die Schleife unterbrochen. Wohlgemerkt, die while-Schleife prüft auf 'lo> = 0 && hi
Also im Falle der Suche nach 35 wäre der lo 3, was 40? wäre das Tief nicht 30, was 2 ist? – yummyyenni