http://en.wikipedia.org/wiki/Minimum_spanning_treeIl minimo più veloce algoritmo spanning tree
Sto cercando di punto di riferimento il mio minimo spanning algoritmo di albero contro il meglio del meglio. Qualcuno sa dove posso trovare un'implementazione C++ di questi algoritmi? Ho abbuffato e cercato su Google e non ho trovato nulla. Se questi algoritmi sono i migliori, sicuramente ci deve essere un'implementazione C++ da qualche parte?
Il minimo veloce spanning tree algoritmo ad oggi è stato sviluppato da David Karger, Philip Klein, e Robert Tarjan, che ha trovato un tempo lineare algoritmo randomizzato basa su una combinazione di algoritmo di Borůvka e il contrario -algoritmo di eliminazione. [2] [3] L'algoritmo non randomizzato più veloce, di Bernard Chazelle, si basa sull'heap morbido , una coda approssimativa con priorità . [4] [5] Il tempo di esecuzione è O (m α (m, n)), dove m è il numero di spigoli , n è il numero di vertici e α è la classica inversa funzionale della funzione Ackermann. La funzione α cresce molto lentamente, quindi che per tutti gli scopi pratici può essere considerata una costante non maggiore di rispetto a 4; quindi l'algoritmo di Chazelle si avvicina molto al tempo lineare. Se i pesi del bordo sono numeri interi con una lunghezza di bit limitata , allora gli algoritmi deterministici sono noti con il tempo di esecuzione lineare . [6] Se esiste un algoritmo deterministico con tempo di esecuzione lineare per i pesi generali è ancora una domanda aperta. Tuttavia, Seth Petie e Vijaya Ramachandran hanno trovato un algoritmo deterministicamente deterministico ottimale , la cui complessità computazionale è sconosciuta. [7]
Ho già testato gli algoritmi del grafico di Boost C++.
ottima risposta. Dovresti aggiungere che a volte Big O ha anche molti avvertimenti come il caso delle tabelle hash e la loro dipendenza da una funzione di "buona" hashing. Mentre non stiamo discutendo le funzioni di hashing qui, lo stesso tipo di cose può accadere con alberi disgiunti e così via. – wheaties
Quindi non c'è il codice! Nessun risultato sperimentale! Dov'è il metodo scientifico che amo :) – toto