Suchfunktion
3.2.2.2 Algorithmen auf Datenstrukturen
Algorithmen zur Verarbeitung größerer Datenmengen setzen voraus, dass die Daten in einer geeigneten Struktur vorliegen. Für viele Algorithmen spielen dabei die Grundprobleme Suchen, Traversieren und Sortieren eine Rolle.
Suchverfahren werden benutzt, um die Existenz und die Position eines Element in einer Datenstruktur zu ermitteln (zum Beispiel bei der Artikelsuche in einem Webshop, bei der Rufnummernsuche im Telefonbuch, bei der Webrecherche). Die Schülerinnen und Schüler verwenden abhängig von der jeweiligen Problemstellung unterschiedliche Suchverfahren.
Sortierverfahren spielen in der Informatik eine große Rolle, da viele Algorithmen effizienter arbeiten, falls die Daten sortiert vorliegen. Dies lässt sich mithilfe von einfachen Sortierverfahren wie Selectionsort oder höheren Sortierverfahren wie Quicksort lösen.
Für ein und dasselbe Problem gibt es oftmals verschiedene Lösungsverfahren, die sich in Speicher- und Zeitkomplexität sowie – bei Näherungsverfahren – in der Genauigkeit der Lösung unterscheiden.
Die Schülerinnen und Schüler können |
(1)
die lineare Suche auf Array und Liste implementieren |
BP2016BW_ALLG_GYM_INF_IK_01_02_00_12, BP2016BW_ALLG_GYM_INF_PK_02_09, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_01_02_02, BP2016BW_ALLG_GYM_INF_IK_01_02_00_13
Verweise auf inhaltsbezogene Kompetenzen
|
(2)
die binäre Suche auf sortierten Arrays implementieren |
BP2016BW_ALLG_GYM_INF_IK_01_02_00_12, BP2016BW_ALLG_GYM_INF_PK_02_09, BP2016BW_ALLG_GYM_INF_IK_01_02_00_13
|
(3)
[nur LF] |
(4)
Breitensuche und Tiefensuche auf Bäumen beschreiben |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_01_02_05, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_01_02_03, BP2016BW_ALLG_GYM_INF_PK_02_09, BP2016BW_ALLG_GYM_INF_PK_04_03, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_03_01
Verweise auf inhaltsbezogene Kompetenzen
|
(5)
elementare vergleichsbasierte Sortierverfahren (Bubblesort, Selectionsort, Insertionsort) beschreiben, händisch durchführen und eines davon implementieren |
BP2016BW_ALLG_GYM_INF_PK_02_11, BP2016BW_ALLG_GYM_INF_PK_02_09, BP2016BW_ALLG_GYM_INF_PK_04_03
|
(6)
ein höheres vergleichsbasiertes rekursives Sortierverfahren (zum Beispiel Mergesort, Quicksort) beschreiben |
BP2016BW_ALLG_GYM_INF_PK_02_11, BP2016BW_ALLG_GYM_INF_PK_02_09, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_03_02, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_03_03, BP2016BW_ALLG_GYM_INF_PK_04_03, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_03_01
Verweise auf inhaltsbezogene Kompetenzen
|
(7)
[nur LF] |
(8)
Sortierverfahren hinsichtlich der Eigenschaften Laufzeit (in O-Notation), Speicherbedarf und Stabilität vergleichen und die Begriffe best case, worst case und average case erläutern |
|
(9)
[nur LF] |
(10)
einen Algorithmus zur Lösung des Problems des kürzesten Pfades (zum Beispiel Dijkstra) beschreiben und an Beispielen von Hand durchführen |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_01_02_05
Verweise auf inhaltsbezogene Kompetenzen
|
(11)
[nur LF] |
(12)
[nur LF] |
MB_08
|