Datenstrukturen und Algorithmen Flashcards

1
Q

Wie lässt sich die Mathematik in der Softwareentwicklung beschreiben?

A

Mathematik: Dies ist die abstrakteste Ebene. Eine Funktion beschreibt im Wesentlichen das Ergebnis einer Berechnung für bestimmte Eingaben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie lässt sich die Algorithmik in der Softwareentwicklung beschreiben?

A

Algorithmik: Das Verfahren zur Konstruktion der Ausgabe aus der Eingabe wird angegeben. Ziel dabei ist es, das Verfahren in einer für Menschen
verständlichen Form anzugeben.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie lässt sich die Programmierung in der Softwareentwicklung beschreiben?

A
Ein Programm ist eine Möglichkeit, einen
Algorithmus zu beschreiben. Für komplexe
(und damit interessante) Algorithmen ist
eine Beschreibung für den Entwurf und die
Analyse nicht angemessen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Eigenschaften hat ein Algorithmus?

A
Eigenschaften:
 Ausführbarkeit, Ausführender eines Algorithmus (Mensch
oder Maschine) = Prozessor
 Teilalgorithmen
 Hinreichend genaue Detaillierung (abhängig vom Prozessor)
 Ablaufstrukturen
 Endlichkeit
 Effizienz (Laufzeit, Speicherplatz)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie lautet das EVA Prinzip eines Algorithmus?

A

Ein Algorithmus wird durch eine endliche Folge von
Instruktionen beschrieben, die eindeutig festlegen, wie aus
bestimmten Eingabedaten neue Ausgabedaten durch
Verarbeitung ermittelt werden (EVA-Prinzip).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche Bewertungskriterien kann man an einem Algorithmus ansetzen?

A

Bewertungskriterien für Algorithmen:

 Welche Voraussetzungen gelten für den Algorithmus,
insbesondere, welche Eingaben sind erlaubt und welche
Ausgaben sind möglich?
 Kommt ein durch den Algorithmus beschriebener
Prozess zum Ende?
 Liefert der Prozess ein korrektes Ergebnis (Testen,
Verifikation)?  Effektivität
 Welchen Aufwand erfordert der Algorithmus
(Zeitaufwand, Speicherbedarf)?  Effizienz
 Lesbarkeit, Wartbarkeit (Dokumentation!)

Weitere, leider nicht so einfach messbare oder sichtbare
Eigenschaften, sind beispielsweise Änderbarkeit,
Portabilität (Übertragbarkeit des Programms auf andere
Rechner) und vor allem die Zuverlässigkeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nenne 2 Ansätze zur Bestimmung der Laufzeit von Algorithmen:

A
  1. Verwende einen idealisierten Modellrechner als
    Referenzmaschine
  2. Zähle die Ausführungszahl ausgezeichneter Anweisungen

Bei komplexeren Algorithmen ist die „Streuung“ der
Laufzeiten im Allgemeinen groß.
 Spezialfälle, wie z.B.
 Laufzeiten im besten Fall (best case): Tbest
 Laufzeiten im schlechtesten Fall (worst case): T worst
 das durchschnittliche Verhalten (average case): Tavg

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was bedeutet Kapselung bei abstrakten Datentypen.

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist das Geheimnsiprinzip bei Abstrakten Datentypen

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie kann man einen Abstrakten Datentyp beschreiben?

A

Angabe von Objekten bestimmter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie definiert man Axiome eines ADTs

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly