Welche Algorithmen wie Dijkstra oder Kruskal eignen sich für Routenplaner in PHP?

Für Routenplaner in PHP eignen sich Algorithmen wie Dijkstra und Kruskal, da sie effizient Wege zwischen verschiedenen Punkten berechnen können. Dijkstra wird oft verwendet, um den kürzesten Weg zwischen zwei Punkten zu finden, während Kruskal für das Finden des minimalen Spannbaums in einem Graphen nützlich ist.

// Implementierung des Dijkstra-Algorithmus in PHP

function dijkstra($graph, $start, $end) {
    $distances = array_fill(0, count($graph), INF);
    $distances[$start] = 0;
    $visited = array();
    
    while (!empty($visited)) {
        $min = INF;
        $current = null;
        
        foreach ($distances as $key => $val) {
            if (!in_array($key, $visited) && $val < $min) {
                $min = $val;
                $current = $key;
            }
        }
        
        if ($current === $end) {
            break;
        }
        
        foreach ($graph[$current] as $neighbor => $weight) {
            $alt = $distances[$current] + $weight;
            if ($alt < $distances[$neighbor]) {
                $distances[$neighbor] = $alt;
            }
        }
        
        $visited[] = $current;
    }
    
    return $distances[$end];
}