Zusammenfassung der Ressource
Datenstrukturen
- Lineare Datenstrukturen
- List
Anlagen:
- dynamisch
Anmerkungen:
- eine Liste kann dynamische erweitert werden. Man muss vor dem anlegen einer Liste noch nicht genau wissen, wie viele Speicherplätze (Listeneinträge) man braucht
- Vorteil?
- Programmierung
- Methoden
- einfügen
- Objekte
- am Ende der Liste =
append(object)
- hinter dem aktuellen
Element =
insert(object)
- Listen
- am Ende der Liste =
concat(list)
- Inhalte
- am aktuellen Element =
setContent(objekt)
- auslesen
- Inhaltsobjekt des aktuellen Elements
= getContent()
- entfernen =
remove()
- Initialisierne
- durchlaufen
- Array
Anlagen:
- Programmierung
Anlagen:
- Initialisierung
- Durchlaufen
- Eindimensionaler Array
- Zweidimensionaler Array
- Methoden
- Statisch
- festgelegte Plätze
- genauer Speicherplatz
- Vorteil
- kann Datentypen
verwalten
Anmerkungen:
- andere Datenstrukturen verwalten Objekte aus Klassen
- Queue
Anlagen:
- FIFO
Anmerkungen:
- First In First Out:
das Element, das zuerst eingefügt wurde wird auch zuerst entfernt
- Programmierung
- Initialisieren
- Methoden
- einfügen -
enqueue(object)
- löschen -
dequeue()
- auslesen -
front()
- Durchlaufen
- Stack
Anlagen:
- Programmierung
- Initialisieren
- Methoden
- einfügen -
push(object)
- entfernen
- pop()
- auslesen
- top()
- Implementierung
- LIFO
Anmerkungen:
- Last In First Out
das zuletz eingefügte Objekt wird als erstes Ausgegeben
- Nicht-lieneare Datenstrukturen
- Tree
Anmerkungen:
- Bäume können neben Objekten auch Datentypen verwalten und ebenfalls von anderen Datenstrukturen verwaltet werden
- BinaryTree
Anlagen:
- BinarySearchTree
Anmerkungen:
- Wird ein element aus dem Suchbaum entfernt (und kein einzelner Teilbaum kann nachrücken) wird sein Nachfolger entweder das größte Element des linken Teilbaums oder das kleinste Element des rechten Teilbaums
Anlagen:
- Suche erfolgt binär (rekursiv)
- Das Einfügen von Content erfolg rekursiv
- Verwendung des Interfaces
ComparableContent
Anmerkungen:
- Die Klasse der Objekts, die mit dem Suchbaum verwaltet werden sollen, muss von ComparableContent erben und die Methoden isGreater(...), isLess(...) und isEqual(..) überschreiben
- Jeder Binäre Suchbaum besteht
aus einer Wurzel und aus einem
linken und einem rechten
Teilbaum
- Baumstruktur vom Grad 2
- Baumstruktur vom Grad 2
- Jeder Knoten hat mind. keinen und
maximal zwei Nachfolger
- Jeder Binärbaum besteht aus einer
Wurzel und aus einem rechten und
einem linken Teilbaum
- Traversierung
Anlagen:
- Pre-Order (W-R-L)
- In-Order (R-W-L)
- Post-Order (R-L-W)
- Knoten
- Grad des Knotens:
Anzahl seiner Nachfolger
- Wurzel
- Die Zählung der
Ebenen beginnt an der
Wurzel mit 0
- Ist die Wurzel eines
Baumes leer, ist der
Baum leer
- Blatt
- keine Nachfolger
- Pfade können niemals
eine Kreis bilden
- Jeder Baum besteht aus einer
Wurzel und aus einem rechten und
einem linken Teilbaum
- Graphen
Anlagen:
- Kanten
- Unidirektional
- gerichteter Graph
- Bidirektional
Anmerkungen:
- Die Graphen der Abiturklasse sind immer unidirektional
- ungerichteter
Graph
- Gewicht
- Knoten
Anmerkungen:
- Der Grad eines Knotens ist die Anzahl seiner Nachbarknoten
- Darstellung
- Adjazenzliste
- Adjazenzmatrix
- vollständig/zusammenhängend
Anmerkungen:
- ein Graph ist vollständig, wenn zwischen zwei Knoten je eine Kante besteht
- ein Graph ist zusammenhängend, wenn zwischen je zwei Knoten ein Weg existiert
- Durchsuchen
Anmerkungen:
Anlagen:
- Tiefensuche
- Breitensuche
- kürzester Weg
Anlagen:
- Dijkstra
- Spannbaum
- Kruskal
- Prim