Erstmal vielen Dank(!) für die schnelle Antwort, aber ich steh immernoch auf dem Schlauch!
Dieses "+" zeichen stört mich irgendwie.
Jeder Knoten kann |V|-1 Nachbarn haben. Da sind wir uns ja einig.
Nehmen wir mal an, dass jeder Knoten mit jedem verbunden ist, d.h. jeder Knoten hat |V|-1 Nachbarknoten.
bzw. es gibt dann
(ahh Geistesblitz!!) |E|=|V|*|V-1| Kanten
Daher stimmt mein O(|V|*|V-1|) wieder, für den falls, dass |E|=|V|*|V-1|
denn dann ist O(|V|+|E|)= O( |V|+|V|*(|V|-1) )=O(|V|²).
Für alle anderen Fälle genügt es den index "nachbarknoten" zu betrachten und "nachbarknoten" ändert nun mal |E| seinen Wert!
Beispiel:
Knoten 1 hat 4 Nachbarn
Knoten 2 hat 3 Nachbarn
Knoten 3 hat 1 Nachbarn
Knoten 4 hat 2 Nachbarn
Knoten 5 hat 2 Nachbarn
Knoten 1 wird abgearbeiter (4 nachbarknoten,|nachbarknoten|=4)
Knoten 2 wird abgearbeiter (3 nachbarknoten,|nachbarknoten|=7)
Knoten 3 wird abgearbeiter (1 nachbarknoten,|nachbarknoten|=
Knoten 4 wird abgearbeiter (2 nachbarknoten,|nachbarknoten|=10)
Knoten 5 wird abgearbeiter (2 nachbarknoten,|nachbarknoten|=12)
->|nachbarknoten|=|E|
da immer überprüft wird ob ein Knoten nachbarn hat ist die maximale Laufzeit= 2* |V| + |E| <=> O(|V|+|E|)
PS: hab´s nur mal zuende gedacht, falls jmd (so wie ich) auch auf dem schlauch stand *g*
Danke nochmal!