Explication détaillée de l'algorithme de tri par fusion en PHP
Introduction :
Le tri est l'un des problèmes fondamentaux courants en informatique. La disposition ordonnée des données peut améliorer l'efficacité des opérations de récupération, de recherche et de modification. Parmi les algorithmes de tri, le tri par fusion est un algorithme très efficace et stable. Cet article présentera en détail l'algorithme de tri par fusion en PHP, avec des exemples de code.
function mergeSort($arr) { $length = count($arr); if ($length <= 1) { return $arr; } $mid = floor($length / 2); $left = array_slice($arr, 0, $mid); $right = array_slice($arr, $mid); $left = mergeSort($left); // 递归排序左半部分 $right = mergeSort($right); // 递归排序右半部分 return merge($left, $right); // 合并两个已排序的子数组 } function merge($left, $right) { $result = []; while (count($left) > 0 && count($right) > 0) { if ($left[0] < $right[0]) { $result[] = array_shift($left); } else { $result[] = array_shift($right); } } while (count($left) > 0) { $result[] = array_shift($left); } while (count($right) > 0) { $result[] = array_shift($right); } return $result; }
Conclusion :
Le tri par fusion est un algorithme de tri efficace et stable, et son implémentation spécifique en PHP est relativement simple. Grâce à l'introduction de cet article, j'espère avoir une compréhension plus approfondie de l'algorithme de tri par fusion et pouvoir utiliser cet algorithme de manière flexible dans le développement réel.
Références :
[1] https://en.wikipedia.org/wiki/Merge_sort
[2] https://www.geeksforgeeks.org/merge-sort/
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!