13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf
13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf
13SS_6b_PG1_Algorithmen_Datenstrukturen_Suchen_Sortieren_Stud_01_21.pdf
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Such-<strong>Algorithmen</strong> – Binäre Suche<br />
FB Informatik<br />
Prof. Dr. R.Nitsch<br />
Nachteil der linearen Suche: langsam, weil Suche in kleinen Schritten<br />
Besser: Suche in großen Schritten<br />
Frage: Wie errät man eine Zufalls-Zahl zwischen 0 und 100 am schnellsten?<br />
2. Version des Suchalgorithmus: Binäre Suche<br />
Algorithmischer Kern<br />
Rateversuch: Mittlere Zahl aus (sortiertem) Suchbereichs<br />
wenn gleich: fertig<br />
sonst: links oder rechts weitersuchen<br />
int* binarySearchI( int* pfirst, int* plast, int val ) {<br />
//Binäre Suche (iterativ) im Bereich [pfirst, plast);<br />
// Vorbedingung: sortierte Elemente in Bezug auf operator<<br />
}<br />
int* pend = plast;<br />
while (pfirst