Informatik
Informatik ist die Wissenschaft, die sich mit der Struktur, der Wirkungsweise, den Konstruktorenprinzipien und den Einsatzmöglichkeiten informationsverarbeitender Systeme sowie ihren Anwendungen beschäftigt
Struktur und Daten
Graph
Ein Graph ist ein Gebilde aus Knoten (engl. vertex), welche durch Kanten (engl. Edge) miteinander verbunden sind
Ein Graph G ist ein geordnetes Paar (V, E) aus einer Menge V von Knoten und einer Menge E von Kanten. Jedes Element E ist ein geordnetes oder ungeordnetes Paar, das aus zwei Knoten von V gebildet wird
Subgraph
Seien G=(V,E) und G’=(V’,E’) Graphen. G’ ist ein Untergraph (Subgraph) von G genau dann, wenn E’ teilmenge von E und V’ teilmenge von V ist
Pfad
Ein Pfad pi in G ist eine Folge
Kreis
der Pfad pi in G ist ein Kreis genau dann,w enn Start(pi) = End(pi)
Ein Pfad pi ist ein kanteneinfacher Kreis, wenn jede Kante auf dem Pfad pi nur einmal in pi enthalten ist
Verzweigungsgrad
Der Verzweigungsgrad d für einen Graphen G und einen Knoten V gibt die Anzahl der mit dem Knoten v verbundenen (ausgehenden!) Kanten an
Der Verzweigungsgrad d für einen Graphen G gibt den maximalen verzweibungsgrad über alle Knoten an
Gerichtete Graphen
Ein gerichteter Graph G sit ein geordnetes Parr (V,R) aus einer Menge V von Knoten und einer Menge R von Bögen oder gerichteten Kanten
Jedes Element von R besteht aus einem geordnetem Paar aus Elementen von V. Die Reihenfolge der Knoten im Paar gibt die Richtung der Kante an.
Kantengewichtung
Ein Graph G lässt sich neben der bisheringen Beschreibung durch Mengen E und V auch durch die Angabe einer Gewichtsfunktion g beschreiben
Baum
der Graph G=(V,E) ist ein Baum genau dann, wenn:
1. G ist schleifenfrei
2. G enthält keinen (kanteneinfachen) Kreis
3. G ist zusammenhängend
Tiefe
Abstand von der Wurzel
Ordnung
Ordnung = Verzweigungsgrad
Interface
Interfaces bzw. Schnittstellendefinitonen sind etwas, das Klassen “implementieren” können
Wenn eine Klasse ein interface implementiert, “verspricht” sie, dass sie alle Methoden aus dem Interface besitzt
Binäre Suchbäume: Einfügen
Binäre Suchbäume: Suchen
Travesierung binärer Bäume
Hauptreihenfolge (preorder)
“WLR”
Nebenreihenfolge (postorder)
“LRW”
Symmetrische Reihenfolge (inorder)
“LWR”
Einfach verkettete Listen
Doppelt verkettete Listen
Effizientbetrachtung von Listen
Liste mit Array:
Einfach verkettete Liste:
Doppelt verkettete Liste:
Schlange
FIFO - First in, First out
Die Elemente werden in der Reihenfolge entnommen, wie sie der Speicherstruktur hinzugefügt wurden
meist mit doppelt verkettete Listen
Anwendung: Verwaltung von Druckaufträgen, Prozessen oder Webserveranfragen
Stapel
LIFO - Last in, First out
Die Elemente werden in umgekehrter Reihenfolge entnommen, wie sie der Speicherstruktur hinzugefügt wurden
meist mit einfach verketteten Listen
Zuletzt geändertvor einem Jahr