Was wird unter einem Zeiger verstanden?
Ein Zeiger in der Computerprogrammierung ist eine Variable, die die Speicheradresse einer anderen Variablen speichert.
Erläutern Sie anhand eines selbst gewählten Beispiels den Unterschied zwischen einem iterativen und rekursiven Aufruf einer Funktion.
Der Hauptunterschied zwischen einem iterativen und rekursiven Aufruf einer Funktion ist,
dass ein iterativer Aufruf eine Schleife verwendet, um die Aufgabe zu lösen,
während ein rekursiver Aufruf sich selbst aufruft, um die Aufgabe zu lösen.
Ihnen liegt ein vergleichsweise großer Datensatz vor, welchen Sie auf Muster hin durchsuchen möchten. Entscheiden Sie sich in diesem Fall eher für eine kompilierte oder eine interpretierte Sprache? Begründen Sie Ihre Antwort.
Für die Suche nach Mustern in einem großen Datensatz ist eine kompilierte Sprache in der Regel die bessere Wahl.
Kompilierte Sprachen sind in der Regel effizienter als interpretierte Sprachen, da der Compiler den Quellcode in optimalen Maschinencode, nur einmal, übersetzen kann.
Dies ist wichtig, da die Mustersuche in einem großen Datensatz oft eine zeitaufwendige Aufgabe ist.
Erklären Sie anhand eines Fahrzeugs und selbst gewählten Attributen und Methoden den Unterschied zwischen einem Objekt und einer Klasse.
Eine Klasse ist ein Bauplan für Objekte. Klassen definieren die Attribute und Methoden, die Objekte der Klasse haben.
Ein Objekt ist eine konkrete Instanz einer Klasse, d.h. es ist ein konkretes Exemplar, das nach dem Bauplan der Klasse erstellt wurde und eigene Werte für die definierten Eigenschaften besitzt.
Eine Klasse definiert bestimmte Eigenschaften (Attribute) und Verhaltensweisen (Methoden), die die Objekte, die von ihr erstellt werden, besitzen werden.
Ein Objekt hat einen bestimmten Wert für jedes Attribut und kann bestimmte Methoden ausführen
Wie unterscheiden sich verschiedene Sortieralgorithmen hinsichtlich ihrer Effizienz?
Die Effizienz von Sortieralgorithmen wird durch ihre Laufzeitkomplexität bestimmt.
Die Laufzeitkomplexität eines Algorithmus beschreibt, wie sich die Laufzeit des Algorithmus mit der Größe der Eingabedaten ändert.
Selection Sort: O(n^2) im besten Fall, O(n^2) im schlechtesten Fall
Insertion Sort: O(n) im besten Fall, O(n^2) im schlechtesten Fall
Quick Sort: O(n log n) im besten Fall, O(n^2) im schlechtesten Fall
Bubble Sort: O(n) im besten Fall, O(n^2) im schlechtesten Fall]
Was sind Datenstrukturen? Was sind grundlegende Datenstrukturen?
Was sind Beispiele für weiterführende Datenstrukturen?
Bitte grenzen Sie die Begrifflichkeiten „Induktion“, „Iteration“ sowie „Rekursion“ voneinander ab.
Bei der Induktion handelt es sich um
einen logischen Schluss von einem Spezialfall auf das Allgemeine.
Iterationen können benutzt werden,
um ein wiederholtes Ablaufen eines Prozesses zu beschreiben.
Mithilfe eines rekursiven Ansatzes ist es möglich,
eine Berechnung durch den wiederholten Selbstaufruf einer Funktion zu realisieren.
Welche Methoden gibt es im Algorithmen-Entwurf?
Wie werden Bäume in Datenstrukturen linearisiert?
Die verschiedenen Methoden zur Linearisierung eines Baums sind:
Preorder: Wurzel, linker Teilbaum, rechter Teilbaum
Inorder: Linker Teilbaum, Wurzel, rechter Teilbaum
Postorder: Linker Teilbaum, rechter Teilbaum, Wurzel
Levelorder: Ebene für Ebene von oben nach unten
Welche verschiedenen Programmierparadigmen gibt es?
Prozedurale Programmierung
Strukturierte Programmierung
Modulare Programmierung
Objektorientierte Programmierung
Funktionale Programmierung
Logische Programmierung
Was kennzeichnet die Programmiersprachen der C-Familie?
Eine Besonderheit, die C als Programmiersprache anbietet, sind Zeiger (Pointer).
Mittels eines Zeigers ist es möglich, auf eine Speicheradresse zu verweisen und als Rückgabewert den dort abgelegten Wert einer Variablen zu erhalten.
Last changed6 months ago