praktische datenstrukturen Flashcards

1
Q

Collection:

A
  • Eine Collection verwaltet Objekte (Elemente).
  • Interface enthält generelle Methoden (fur alle Collection-Typen).
  • Es gibt keine direkte Implementierung dieses Interfaces.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Set:

A
  • Eine Collection, die keine duplizierten Elemente enthält.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

List:

A
  • Eine geordnete Collection (mit duplizierte Elementen).

* Elemente können über einen Index angesprochen werden (nicht immer effizient)

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

Queue/Deque:

A
  • Verwalten von Warteschlangen.
  • FIFO, Prioritätswarteschlangen.
  • Einfugen und Löschen an beiden Enden bei Deque (“double ended queue”).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ArrayList:

A
  • Indexzugriff auf Elemente ist überall gleich schnell (O(1)).
  • Einfugen und Löschen ist am Listenende schnell und wird mit wachsender Entfernung vom Listenende langsamer (O(n)).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

LinkedList:

A

*Indexzugriff auf Elemente ist an den Enden schnell und wird mit der Entfernung
von den Enden langsamer (O(n)).

*Einfugen und Löschen ohne Indexzugriff ist uberall gleich schnell ( O(1)).

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

PriorityQueue:

A
  • Einfugen eines Elements und Löschen des ersten Elements in einer Queue der Größe n sind in O(log n).
  • Löschen eines beliebigen Elements aus einer Queue der Größe n ist in O(n).
  • Lesen des ersten Elements in einer Queue ist in konstanter Zeit möglich (O(1)).
  • Ist als Min-Heap implementiert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

TreeSet:

A

*null-Elemente sind nicht erlaubt.

*Die Laufzeit von Einfugen, Suchen und Löschen eines Elements liegt bei einem Baum mit n Elementen in
O(log n).

  • Auf die Elemente eines TreeSets muss eine Ordnung definiert sein (mussen vergleichbar sein, d.h. das Interface Comparable implementieren).
  • Implementiert als Rot-Schwarz-Baum.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Rot-Schwarz-Baum:

A
  • Variante eines balancierten Suchbaums.
  • Kann als Spezialfall eines B-Baums der Ordnung 4 betrachtet werden.

*Einfugen und Löschen ist effizienter als in B-Bäumen solange die Datenmenge
nicht zu groß ist.

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

HashSet:

A
  • null-Elemente sind zulässig.
  • Einfugen, Suchen und Löschen sind in konstanter Zeit möglich (abhängig von der Verteilung der Einträge in der Hashtabelle).

Aber: Rehashing kann zu Performance-Problemen fuhren (siehe auch API-Beschreibung).

Hashing mit Verkettung der Uberläufer. Falls die Liste zu lange wird, wird sie in
eine TreeMap umgewandelt.

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

Map

A
  • Maps sind eine Verallgemeinerung von Arrays mit einem beliebigen Indextyp
    (nicht nur int).
  • Eine Map ist eine Menge von Schlüssel-Werte Paaren.
  • Schlussel müssen innerhalb einer Map eindeutig sein.
  • Werte müssen nicht eindeutig sein.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Arten von Maps:

A

Wie bei Sets gibt es grundsätzlich zwei Versionen.

  • HashMap: Implementierung wie HashSet.
  • TreeMap: Implementierung wie TreeSet.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Abstrakte Klassen

A

*Unterstutzen die Entwicklung neuer Klassen im Framework.
*Implementieren schon einen großen Teil eines Interfaces und lassen bestimmte
Teile noch offen.

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

Sortieren von Collections:

A
  • Zum sortieren von Collections wird TimSort verwendet.
  • TimSort ist eine Kombination von Mergesort und Insertionsort.
  • TimSort wurde 2002 von Tim Peters fur die Verwendung in Python entwickelt.

*Heute wird TimSort unter anderem in Python, Java, Android und Google Chrome
verwendet.

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