Skip to content

Commit

Permalink
Listen und Generics
Browse files Browse the repository at this point in the history
  • Loading branch information
sikoried committed Nov 24, 2017
1 parent a48cd0d commit 17ba652
Show file tree
Hide file tree
Showing 8 changed files with 482 additions and 7 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,31 +27,31 @@ Es werden die wichtigsten Inhalte von [Programmieren 2](https://hsro-wif-prg2.gi

# Terminplan

- **[Vererbung und abstrakte Klassen](vererbung-und-abstrakte-klassen/) (14.11.2017)**
- **Vererbung und abstrakte Klassen (14.11.2017, [Folien](vererbung-und-abstrakte-klassen-slides/), [Aufgabe](vererbung-und-abstrakte-klassen/))**

Abstrakten Klassen erklärt am Beispiel der Implementierung eines Zustandsautomaten.

- **Listen und Generics (21.11.2017)**
- **Listen und Generics (28.11.2017, [Aufgabe](listen-generics/))**

Die Liste ist eine der wichtigsten Datenstrukturen der Informatik.
Java's Generics erlauben uns, diese unabhängig vom Datentyp zu implementieren.
Mit Generics können wir diese unabhängig vom Datentyp implementieren.

- **Set als Binärbaum (28.11.2017)**
- **Set als Binärbaum (5.12.2017)**

Ein Set ist definiert als eine (ungeordnete) Menge von Elementen ohne Duplikate.
Die Interfaces `Comparable<T>` und `Comparator<T>` helfen uns beim aufbau von Binärbäumen, welche Sets effizient modellieren können.
Die Interfaces `Comparable<T>` und `Comparator<T>` helfen uns beim Aufbau von Binärbäumen, welche Sets effizient modellieren können.

- **Iterator und Factory (12.12.2017)**

Ein `Iterator<T>` ist ein Objekt, welches die Traversierung einer Datenstruktur ermöglicht, ohne deren innere Struktur zu kennen.
Eine _Factory_ stellt Objekte her, welche einem Interface genügen.

- **Rekursion (5.12.2017)**
- **Rekursion (19.12.2017)**

Rekursive Funktionen rufen sich selbst wieder auf.
Wir betrachten als Beispiele die Pre-/In-/Postfixschreibweise, binäre Suche, sowie Sortieren am Beispiel von merge sort.

- **Parallele Verarbeitung (19.12.2017)**
- **Parallele Verarbeitung (9.1.2017)**

Threads helfen bei der parallelen Verarbeitung von Daten.
Gibt es sowohl Produzenten als auch Konsumenten, so kann es zu Deadlocks kommen.
Expand Down
96 changes: 96 additions & 0 deletions assets/list-od.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
@startuml
allow_mixing

actor user

object list1 {
first = null
}

user -right-> list1

@enduml

@startuml
allow_mixing

actor user

object list1 {
first = element1
}

user -right-> list1

object element1 {
next = element2
value = "Mary"
}

object element2 {
next = element3
value = "had"
}
object element3 {
next = element4
value = "a"
}
object element4 {
next = element5
value = "little"
}
object element5 {
value = "lamb"
next = null
}

list1 *-right-> element1
element1 *-right-> element2
element2 *-right-> element3
element3 *-right-> element4
element4 *-right-> element5

@enduml

@startuml
allow_mixing

actor user

object list1 {
first = element1
}

user -right-> list1

object element1 {
next = element2
value = "Mary"
}

object element2 {
next = element3
value = "had"
}

object element3 {
next = element5
value = "a"
}

object element4 {
next = element5
value = "little"
}

object element5 {
value = "lamb"
next = null
}

list1 *-right-> element1
element1 *-right-> element2
element2 *-right-> element5
element4 *-right-> element5

@enduml
25 changes: 25 additions & 0 deletions assets/list-od.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions assets/list-od_001.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 17ba652

Please sign in to comment.