Java Collection Framework (java.util.*) Collections Set List Queue

Werbung
SOTE1­2015­06­22.notebook
June 22, 2015
Java Collection Framework (java.util.*)
Map
Collections
HashMap
Hashtable
Duplikate
Set
HashSet
List
Reienfolge
ArrayList,
Queue
LinkedBlockingQueue
SortedMap
TreeMap
LinkedList
SortedSet
TreeSet
Inteface
Implementierung
Jun 22­14:02
1
SOTE1­2015­06­22.notebook
June 22, 2015
API des Java Collection Frameworks
Collection
List (zusätzlich zu Collection)
­ add(Object o): void
­ add(int index, Object o)
­ contains(Object o): boolean
­ get(int index): Object
­ remove(Object o): void
­ remove(int index)
­ size(): int
Map
­ put(Object key, Object value):void
­ remove(Object key): void
­ get(Object key): Object
­ keySet():Set
­ values():Collection
­ containsKey(Object key):boolean
­ containsValue(Object value):boolean
Jun 22­13:43
2
SOTE1­2015­06­22.notebook
June 22, 2015
Grafen
Unterschied Baum: viele
Vorgänger und viele Nachfolger
und damit Loops möglich
Anwendungsfälle
Routenplanung
­ Kürzester Weg durch alle Knoten
­ Kürzester Weg von A nach B
Flüsse (Abwasser, Strom, Waren)
­ Größter Durchsatz
­ Wie viele Fahrzeuge pro Zeiteinheit
Projektmanagement (Aufgaben, Aufwände)
­ kürzeste Zeit
gerichteter und gewichter Graf
­ kritischer Pfad
Internet (Webseiten)
­ verlinkte Webseite => Google Page Rank
Jun 22­14:32
3
SOTE1­2015­06­22.notebook
June 22, 2015
Umsetzung von Grafen in Java
a) Array => Adjazenzmatrix
Transitive Hülle
1
1
2
2
3
4
5
2
4
1
9
9
4
5
3
4
Adjazenzmatrix
8
3
5
Jun 22­14:40
4
SOTE1­2015­06­22.notebook
June 22, 2015
b) mit linearen Listen
4
Jun 22­14:47
5
SOTE1­2015­06­22.notebook
June 22, 2015
Google Page Rank
SEO Search Engine Optimization
hängt ab vom PageRank und dem Suchbegriff
­ Off­Page­Optimierung
> viele eingehende (relevante) Links ­ On­Page­Optimierung
> Begriff im Seitentext > Überschriften
> Text
> Bildunterschriften
> Metatags, Metabeschreibung
> Title
> Geschwindigkeit
> Alter der Domäne
> "Mobile Friendliness"
> ...
Jun 22­14:49
6
SOTE1­2015­06­22.notebook
June 22, 2015
Page Rank
A = 4/5*(1/3*D) + 1/5
B = 4/5*(1/2*A + E) + 1/5
C = 4/5*(1/3*B + 1/3*D) + 1/5
D = 4/5*(1/2*A + 1/3*B + C) + 1/5
E = 4/5*(1/3*B) + 1/5
F = 4/5*(1/3*D) + 1/5
4/5 ist der sog. Dämpfungsfaktor, der berücksichtigt, dass nur ein Teil der Zugriffe über Links (hier 4/5) und der andere Teil direkt erfolgt (hier 1/5).
1. Iterationsschritt: 1 einsetzen
2. Iterationsschritt: Ergebnisse aus 1. einsetzen
A = 4/5*(1/3*1) + 1/5 = 7/15
A = 4/5*(1/3*TODO) + 1/5 = B = 4/5*(1/2*7/15 + TODO) + 1/5 = B = 4/5*(1/2*1 + 1) + 1/5 = 14/10
C = 4/5*(1/3*1 + 1/3*1) + 1/5 = ...
D = 4/5*(1/2*1 + 1/3*1 + 1) + 1/5 = ...
E = 4/5*(1/3*1) + 1/5 = ...
C = 4/5*(1/3*14/10 + 1/3*TODO) + 1/5 = ...
D = 4/5*(1/2*7/15 + 1/3*14/10 + TODO) + 1/5 = ...
E = 4/5*(1/3*14/10) + 1/5 = ...
F = 4/5*(1/3*TODO) + 1/5 = ...
F = 4/5*(1/3*1) + 1/5 = ...
Jun 22­14:55
7
Herunterladen