Sia un grafico completo, ponderato e non orientato. Costruiamo un secondo grafico aggiungendo i bordi uno per uno da a . Aggiungiamo i bordi a in totale.G ′ = ( V , E ′ ) E E ′ Θ ( | V | ) G ′
Ogni volta che aggiungiamo un bordo a , consideriamo le distanze più brevi tra tutte le coppie in e . Contiamo quante di queste distanze più brevi sono cambiate come conseguenza dell'aggiunta . Lascia che sia il numero di distanze più brevi che cambiano quando aggiungiamo l' bordo e lascia che sia il numero di bordi che aggiungiamo in totale.E ′ ( V , E ′ ) ( V , E ′ ∪ { ( u , v ) } ) ( u , v ) C i i n
Quanto è grande ?
Come , . Questo limite può essere migliorato? Nota che definisco come media su tutti i bordi che sono stati aggiunti, quindi un singolo giro in cui cambiano molte distanze non è poi così interessante, anche se dimostra che .C = O ( n 2 ) C C = Ω ( n )
Ho un algoritmo per calcolare avidamente una chiave a T geometrica che funziona in tempo , quindi se è , il mio algoritmo è più veloce dell'algoritmo originale avido, e se è veramente piccolo, potenzialmente più veloce dell'algoritmo più noto (anche se ne dubito).C o ( n 2 ) C
Alcune proprietà specifiche del problema che potrebbero aiutare con un buon limite: il bordo che viene aggiunto ha sempre un peso maggiore rispetto a qualsiasi bordo già presente nel grafico (non necessariamente strettamente più grande). Inoltre, il suo peso è più breve del percorso più breve tra e .u v
Si può presumere che i vertici corrispondano ai punti in un piano 2d e che le distanze tra i vertici siano le distanze euclide tra questi punti. Cioè, ogni vertice corrisponde a un punto nel piano e per un bordo suo peso è uguale a( x , y ) ( u , v ) = ( ( x 1 , y 1 ) , ( x 2 , y 2 ) ) √