Content
Vorbereitung
Natürlich können/sollen bei Bedarf auch andere Quellen als die beiden Präsentationen verwendet werden.
Laufzeitverhalten - (O) Notation
- Was ist die (O) Notation?
- Wie kann Sie verwendet werden um das Laufzeitverhalten von Algorithmen oder Datenstrukturen zu beschreiben?
Datenstrukturen
Liste
- Was ist eine Liste?
- Welche Operationen bietet die Liste?
- Was ist der Unterschied zur Datenstruktur Array?
Konkrete Implementierungen einer Liste
Im Nachfolgenden sollen konkrete Implementierungen erläutert werden
Arrayliste
- Was ist eine Arrayliste?
- Skizziere diese Datenstruktur
- Wie ist das Laufzeitverhalten für:
- Element einfügen
- Element an Stelle N auslesen
LinkedList
- Was ist eine Linkedlist?
- Skizziere diese Datenstruktur anhand eines UML Klassendiagramms und beschreibe in Pseudo/Java Code wie ein Element eingefügt werden kann
- Wie ist das Laufzeitverhalten für:
- Element einfügen
- Element an Stelle N auslesen
- Vorgänger eines Elements auslesen
- Nachfolger eines Elements auslesen
DoubleLinkedList
- Was ist eine DoubleLinkedList?
- Skizziere diese Datenstruktur anhand eines UML Klassendiagramms und beschreibe in Pseudo/Java Code wie ein Element eingefügt werden kann
- Wie ist das Laufzeitverhalten für:
- Element einfügen
- Element an Stelle N auslesen
- Vorgänger eines Elements auslesen
- Nachfolger eines Elements auslesen
Queue
- Was ist eine Queue?
- Skizziere die Funktionsweise anhand einer Skizze?
- Für welche Einsatzgebiete eignet sich diese Datenstruktur?
- Was bedeutet FIFO?
Stack
- Was ist ein Stack?
- Skizziere die Funktionsweise anhand einer Skizze?
- Für welche Einsatzgebiete eignet sich diese Datenstruktur?
- Was bedeutet LIFO?
- Skizziere wie mithilfe eines Stacks überprüft werden kann ob ein Wort ein Palindrom ist oder nicht
Baum
- Benenne die Elemente eines Baumes
- Wann ist ein Baum balanciert?
- Erstelle Pseudo/Javacode um ein Element in einen Binärbaum einzufügen
- Erstelle Pseudo/Javacode um den Binärbaum sortiert auszugeben
- Analysiere das Laufzeitverhalten für das Suchen eines Elements im Binärbaum unter der Annahme dass dieser balanciert ist
Assoziativer Speicher
- Was versteht man unter einem Assoziativen Speicher?
- Was ist eine Hashfunktion?
- Wie ist das Laufzeiverhalten zum Einfügen und entfernen von Elementen, wenn von einer optimalen Hashfunktion ausgeht
Algorithmen
Bubblesort
- Skizziere diesen Algorithmus anhand von Pseudo/Javacode
- Analysiere das Laufzeitverhalten
- Nenne Beispieldaten für Best und Worstcase
Mergesort
- Skizziere diesen Algorithmus anhand von Pseudo/Javacode
- Analysiere das Laufzeitverhalten