Was ist ein Algorithmus?
Eine Verarbeitungsvorschrift zur Lösung eines Problems, die präzise und maschinell ausführbar ist.
Nenne drei Arten, wie man Algorithmen darstellen kann.
Umgangssprache, Pseudocode, Flussdiagramm, Struktogramm.
Welche drei grundlegenden Bausteine gibt es in Algorithmen?
Sequenzen, Verzweigungen, Schleifen.
Was ist die lineare Suche?
Durchsucht eine Liste Element für Element.
Was ist ein Graph?
Eine Menge von Knoten (Ecken) und Kanten (Verbindungen).
Was bedeutet "Terminierung" bei einem Algorithmus?
Der Algorithmus muss nach endlich vielen Schritten stoppen.
Was ist ein Struktogramm?
Eine grafische Darstellung von Programmstrukturen mit Blöcken.
Nenne einen typischen Schleifentyp mit Bedingung.
while-Schleife
Wie funktioniert die binäre Suche?
Teilt sortierte Liste wiederholt in Hälften, sucht im passenden Teil.
Was ist der Unterschied zwischen gerichteten und ungerichteten Graphen?
Bei gerichteten Graphen haben die Kanten eine Richtung.
Welche vier Anforderungen muss ein Algorithmus erfüllen?
Endlich beschreibbar, ausführbar, endlich viel Speicher, terminierend.
Welche Darstellungsart nutzt Rechtecke, Rauten und Pfeile?
Flussdiagramm.
Wie funktioniert eine Verzweigung (Fallunterscheidung)?
Durch Prüfung eines logischen Ausdrucks wird ein Zweig ausgeführt.
Was ist Voraussetzung für die binäre Suche?
Die Liste muss sortiert sein.
In welchem Fall ist BFS besser als DFS?
Wenn man den kürzesten Pfad in ungewichteten Graphen sucht.
Was ist der Unterschied zwischen einem Programm und einem Algorithmus?
Ein Programm ist die konkrete Implementierung eines Algorithmus.
Was sind die Vor- und Nachteile von Flussdiagrammen gegenüber Struktogrammen in Bezug auf komplexe Algorithmen?
Flussdiagramme sind visuell intuitiver, aber unübersichtlicher bei komplexen Verzweigungen; Struktogramme sind strukturierter, aber abstrakter.
Was ist der Unterschied zwischen „for“ und „while“-Schleifen?
for: feste Wiederholungsanzahl; while: Wiederholung bis Bedingung falsch.
Was bedeutet „logarithmische Laufzeit“?
Aufwand wächst proportional zum Logarithmus der Eingabegröße.
Welche Datenstruktur wird für DFS und welche für BFS verwendet?
BFS: Warteschlange (Queue).
DFS: Stapel (Stack) oder Rekursion.
Erkläre den Unterschied zwischen einem effektiven und einem effizienten Algorithmus.
Effektiv: löst das Problem korrekt; effizient: löst es mit minimalem Aufwand.
Warum können Umgangssprache und natürliche Sprache problematisch bei der Algorithmusbeschreibung sein (2 Gründe)?
Wegen Mehrdeutigkeit, unpräziser Formulierungen und Interpretationsspielraum – nicht maschinell ausführbar.
Was ist der Unterschied zwischen if, if, else und if, elif, else?
Wenn bei if das erste Statement richtig ist, geht es trotzdem in die zweite if-Bedingung.
Welche Sortiermethode wählt immer das kleinste Element aus?
Selectionsort.
Wie erkennt man mit DFS Zykel in einem Graphen?
Wenn man beim Traversieren auf einen bereits besuchten Knoten im aktuellen Pfad trifft.