php 병합정렬 알고리즘
페이지 정보
작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 작성일 22-12-13 01:41본문
병합 정렬(merge sort)은 정렬 알고리즘 중 하나로, 분할 정복(divide and conquer) 알고리즘의 일종입니다.
병합 정렬은 주어진 리스트를 여러 개의 작은 리스트로 분할한 다음, 각 작은 리스트를 정렬한 다음 다시 하나의 정렬된 리스트로 합치는 과정을
반복하여 정렬하는 방법입니다. 병합 정렬은 안정적인 정렬 알고리즘입니다.
function mergeSort($arr) {
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$mid = floor($len / 2);
$left = array_slice($arr, 0, $mid);
$right = array_slice($arr, $mid);
$left = mergeSort($left);
$right = mergeSort($right);
return merge($left, $right);
}
$arr = array(5, 3, 8, 4, 9, 1, 6, 2, 7);
echo '<pre>';
print_r(mergeSort($arr));
echo '</pre>';
------- Output -------
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
)
댓글목록
등록된 댓글이 없습니다.