PHP СОРТИРОВКА СЛИЯНИЕМ

Сортировка слиянием — это алгоритм сортировки, который использует принцип "разделяй и властвуй". Он работает следующим образом:

1. Разделяет список на две подсписка примерно одинакового размера.

2. Сортирует каждый из этих подсписков рекурсивно путем вызова функции сортировки слиянием.

3. Сливает два отсортированных подсписка в один, чтобы получить итоговый отсортированный список.

function merge_sort($arr){ if(count($arr) == 1 ) return $arr; $mid = count($arr) / 2; $left = array_slice($arr, 0, $mid); $right = array_slice($arr, $mid); $left = merge_sort($left); $right = merge_sort($right); return merge($left, $right);} function merge($left, $right){ $res = array(); while (count($left) > 0 && count($right) > 0){ if($left[0] < $right[0]){ $res[] = array_shift($left); }elseif ($left[0] > $right[0]){ $res[] = array_shift($right); }else{ $res[] = array_shift($right); $res[] = array_shift($left); } } while (count($left) > 0){ $res[] = array_shift($left); } while (count($right) > 0){ $res[] = array_shift($right); } return $res;}

В PHP можно использовать функцию array_merge() для слияния отсортированных массивов.

1.5.1 Решение mergesort(сортировка слиянием) на Java

#12. Быстрая сортировка слиянием (merge sort) - Алгоритмы на Python

Сортировка слиянием в python. Merge sort in Python. Recursive sorting algorithms

Алгоритм сортировки слиянием. Merge sort

Внешняя сортировка естественное слияние

Сортировка слиянием

Реклама
Новое
Реклама