Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
24 Suchen<br />
Suchen von Werten <strong>in</strong>nerhalb von Datenbeständen gehört wie das Sortieren zu den wichtigsten Algorithmen<br />
<strong>in</strong> der Informatik.<br />
Der Wert nach dem gesucht wird, bezeichnet man meist als Schlüssel.<br />
24.1 Sequentielles Suchen<br />
Die e<strong>in</strong>fachste, <strong>und</strong> manchmal auch <strong>die</strong> e<strong>in</strong>zige Möglichkeit, e<strong>in</strong>en E<strong>in</strong>trag <strong>in</strong> e<strong>in</strong>em Feld zu suchen<br />
ist <strong>die</strong> sequentielle Suche.<br />
Dabei werden schlichtweg alle Elemente vom Anfang bis zum Ende mit dem gesuchten Wert verglichen.<br />
Im Durchschnitt s<strong>in</strong>d dafür N/2 Vergleiche nötig, wenn das Element im Feld enthalten ist,<br />
<strong>und</strong> immer N Vergleiche um festzustellen dass der Wert nicht im Feld enthalten ist.<br />
Dieser Algorithmus kann noch optimiert werden: Anstelle jedes mal <strong>in</strong>nerhalb der Suchschlaufe zu<br />
prüfen ob man das Ende des Feldes erreicht hat, kann man am Ende des Feldes den gesuchten Wert<br />
anhängen. Damit wird <strong>die</strong> Schlaufe auf jeden Fall beendet, ohne dass e<strong>in</strong> zusätzlicher Test auf erreichen<br />
des Ende des Feldes nötig ist. Das kann e<strong>in</strong>en merklichen Geschw<strong>in</strong>digkeitszuwachs zur<br />
Folge haben.<br />
Wenn der Datenbestand nicht sortiert ist, ist das Sequentielle Suchen <strong>die</strong> e<strong>in</strong>zige Suchmöglichkeit,<br />
<strong>und</strong> auch <strong>in</strong> Listen kann nur sequentiell gesucht werden<br />
24.2 Sequentielles Suchen <strong>in</strong> sortierten Feldern<br />
Sequentielles Suchen <strong>in</strong> sortierten Feldern funktioniert wie das normale sequentielle Suchen, nur<br />
dass man <strong>die</strong> Suche auf jeden Fall abbrechen kann, sobald man e<strong>in</strong> Element grösser oder gleich dem<br />
gesuchten Wert erreicht. Im Durchschnitt s<strong>in</strong>d hier N/2 Vergleiche nötig, unabhängig davon ob das<br />
gesuchte Element im Feld enthalten ist oder nicht.<br />
Gedruckt am 11.09.2008 13:04:00 Letzte Änderung am: 11. September 2008 Version 2.4, I. Oesch 94/147