Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Auch das Programm zur binären Suche liefert immer nur einen Treffer, wenn sich die Zahl mehrfach in der Liste befindet. Wie könnten Sie hier dafür sorgen, dass alle Treffer einer Zahl angezeigt werden? Für diese Aufgabe reicht es, wenn Sie die Änderu
Auch das Programm zur binären Suche liefert immer nur einen Treffer, wenn sich die Zahl mehrfach in der Liste befindet. Wie könnten Sie hier dafür sorgen, dass alle Treffer einer Zahl angezeigt werden? Für diese Aufgabe reicht es, wenn Sie die Änderu
Auch das Programm zur binären Suche liefert immer nur einen Treffer, wenn sich die Zahl mehrfach in
Meine Frage:
Auch das Programm zur binären Suche liefert immer nur einen Treffer, wenn sich die Zahl mehrfach in der Liste befindet. Wie könnten Sie hier dafür sorgen, dass alle Treffer einer Zahl angezeigt werden?
Für diese Aufgabe reicht es, wenn Sie die Änderungen beschreiben. Die praktische Umsetzung in dem Code ist nicht erforderlich.
Dabei seit: 06.11.2013
Beiträge: 639
Herkunft: Heidelberg
Wenn man eines gefunden hat, muss man schauen, ob die Zahlen direkt davor und danach identisch sind. Weil die Liste ja schon vorher sortiert sein muss, findet man damit dann alle.
Also: Treffer mit binärer Suche finden. Dann von der Fundstelle aus so lange nach vorne laufen, wie die Zahlen immer noch ein Treffer sind, danach von der Fundstelle aus nach hinten laufen, so lange, wie es die identischen Zahlen sind.
Man könnte dann den Index des ersten und des letzten Treffers als Trefferbereich zurück geben. Häufig wird dann auch der Index des ersten Treffers und der Index nach dem letzten Treffer zurück geliefert, das ist aber Geschmackssache.
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » Auch das Programm zur binären Suche liefert immer nur einen Treffer, wenn sich die Zahl mehrfach in der Liste befindet. Wie könnten Sie hier dafür sorgen, dass alle Treffer einer Zahl angezeigt werden? Für diese Aufgabe reicht es, wenn Sie die Änderu