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; |
|||||
|
|||||