EIDI - EIDI zusammenfassung PDF

Title EIDI - EIDI zusammenfassung
Author Márió Farkas
Course Einführung in die Informatik 1
Institution Technische Universität München
Pages 6
File Size 387.5 KB
File Type PDF
Total Downloads 79
Total Views 159

Summary

EIDI zusammenfassung...


Description

Eigenschaften von Algorithmen (statische) Finitheit. Die Beschreibung des Algorithmus besitzt feste Länge. (↑nichtuniforme Algorithmen) (dynamische) Finitheit. Die bei Abarbeitung entstehenden Zwischenergebnisse sind endlich. Terminiertheit. Das Ergebnis wird nach endlich vielen Schritten geliefert. (↑Betriebssysteme, ↑reaktive Systeme) Determiniertheit. Gleiche Eingabedaten führen zu gleichem Ergebnis. (↑randomisierte Algorithmen, ↑nicht-deterministische Algorithmen) Determinismus. Der nächste anzuwendende Schritt ist stets eindeutig bestimmt. (↑randomisierte Algorithmen, ↑nicht-deterministische Algorithmen)

Sort:

Befehle der JVM (S.234) int-Operatoren: NEG, ADD, SUB, MUL, DIV, MOD boolean-Operatoren: NOT, AND, OR Vergleichs-Operatoren: LESS, LEQ, EQ, NEQ Laden von Konstanten: CONST i, TRUE, FALSE Speicher-Operationen: LOAD i, STORE i Sprung-Befehle: JUMP i, FJUMP i IO-Befehle: READ, WRITE Reservierung von Speicher: ALLOC i Beendung des Programms: HALT

Abstrakte Datentypen • Verhindern illegaler Zugriffe auf die Datenstruktur; • Entkopplung von Teilproblemen für • Implementierung, aber auch • Fehlersuche und • Wartung; • leichter Austausch von Implementierungen

Keller (Stack) Operationen: boolean isEmpty() : testet auf Leerheit; int pop() : liefert oberstes Element; void push(int x) : legt x oben auf dem Keller ab; String toString() : liefert eine String-Darstellung.

Queues FIF0-Prinzip (First-In-First-Out) Operationen: boolean isEmpty() : testet auf Leerheit; int dequeue() : liefert erstes Element; void enqueue(int x) : reiht x in die Schlange ein; String toString() : liefert eine String-Darstellung.

Extends/Implements (Klasse B ist in A verschachtelt und A hat Interface C): extends: B extends A implements: A implements C (Nur 1 Oberklasse aber beliebig viele Interfaces)

Funktionale Interfaces

Unterklassen-Polymorphie ...

Generische Typen z.b. public class List A extends B ist ok. A extends B ist ein Fehler, sofern T nicht bereits als Interface oder Klasse existiert.

Wrapper-Klassen

Hash Eine Sammlung von daten. Benutzt zur verschlüsselung.

Collections Listen: geordnete Datenstrukturen, auf die man wie auf Arrays mit einem numerischen Index zugreifen kann. Im Unterschied zu Arrays erlauben sie das Einfügen von neuen Objekten. Mengen: Implementierungen mathematischer Mengen. Objekte können nur einmal in einer Menge vorkommen. Eine Reihenfolge oder Ordnung in der Menge ist nicht relevant. Warteschlangen: Warteschlangen sind Listen die nach dem FIFO Prinzip (First In , First Out) aufgebaut sind, verfügen aber über keinen wahlfreien Zugriff. Maps: verallgemeinerte Felder, die mit beliebigem Argumenttyp indiziert werden können. Arrays können ebenfalls als (vordefinierte) Collections aufgefasst werden.

Streams I/O mit Hilfe der Klasse Files Aus Dateien zu lesen oder in Dateien zu schreiben. static Stream lines(Path path); static List readAllLines(Path path); static String readString(Path path); Path ist ein Interface mit Methoden, um mit Dateizugriffspfaden umzugehen. Wir benötigen hier einzig die statische Methode static Path of(String first, String... more); Beispiel: long x = Files.lines(Path.of("test.txt")) .filter((String s) -> s.charAt(0)=='#') .count(); // zählt die Anzahl der Elemente // insgesamt zählen wir die Anzahl der Zeilen, // die mit '#' beginnen

readAllLines liefert eine Liste der Zeilen. readString liefert den Inhalt der Datei als String.

Zum einfachen Schreiben gibt es: static Path writeString(Path path, CharSequence csq, OpenOption... options); static Path write(Path path, Iterable...


Similar Free PDFs