Binäre Suche

Für die binäre Suche gibt es ein Anschauliches Beispiel:
Wir suchen eine Telefonnummer in einem Telefonbuch. Dabei schlagen wir das Telefonbuch
in der Mitte auf und schauen nach, ob der gesuchte Name in der linken oder in der rechten
Hälfte vorkommt. Dann wiederholen wir den Vorgang mit der entsprechenden Hälfte
bis wir den Namen gefunden haben. In der Regel werden wir spätestens nach dem 10. Vergleich fündig.

Eine Beispiel Funktion zur binären Suche:
	function bsuch(a:integer):boolean;
	var l,r,i,max:integer;
		gef  :boolean;
	begin
		l := 1;
		r := max;
			    
		repeat
			i := (l + r)div 2;
			if a > t[i]
			then l := i +1
			else r := i -1;
			          
			gef := a = t[i];
			until (l > r) or gef;
			bsuch := gef;
			end;


Anfang Zurück Weiter