Maison >développement back-end >tutoriel php >Introduction au principe et au code d'implémentation de l'algorithme de tri rapide PHP
Le contenu de cet article concerne les principes et l'introduction du code de l'algorithme de tri rapide PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Principe de l'algorithme
Les animations suivantes sont tirées de l'algorithme de cinq minutes, démontrant les principes et les étapes de l'algorithme de tri rapide.
Étapes :
Mise en œuvre du code
function quickSort($arr) { $len = count($arr); if ($len $v) { $up[] = $arr[$i]; } else { $low[] = $arr[$i]; } } $low = quickSort($low); $up = quickSort($up); return array_merge($low, array($v), $up); }Code du test :
$startTime = microtime(1); $arr = range(1, 10); shuffle($arr); echo "before sort: ", implode(', ', $arr), "\n"; $sortArr = quickSort($arr); echo "after sort: ", implode(', ', $sortArr), "\n"; echo "use time: ", microtime(1) - $startTime, "s\n";Résultat du test :
before sort: 1, 7, 10, 9, 6, 3, 2, 5, 4, 8 after sort: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 use time: 0.0009009838104248sHeure complexitéLa complexité temporelle du tri rapide est Le pire des cas est O(N2), et la complexité temporelle moyenne est O(N*lgN). Cette phrase est facile à comprendre : Supposons qu'il y ait N nombres dans la séquence à trier. La complexité temporelle d’un parcours est O(N). Combien de fois devons-nous le parcourir ? Au moins lg(N+1) fois et au plus N fois.
Tutoriel vidéo PHP]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!