php 힙정렬 알고리즘
페이지 정보
작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 작성일 22-12-13 01:46본문
힙 정렬은 힙 자료구조를 이용하여 정렬하는 알고리즘입니다.
힙 자료구조는 완전 이진 트리를 말하며, 힙 정렬 알고리즘은 그 중에서도 최대 힙을 사용하여 정렬합니다.
최대 힙은 부모 노드의 값이 자식 노드의 값보다 크거나 같은 트리를 말합니다.
function heapSort($arr) {
$len = count($arr);
$heap = new SplMaxHeap();
for ($i = 0; $i < $len; $i++) {
$heap->insert($arr[$i]);
}
$arr = array();
while (!$heap->isEmpty()) {
$arr[] = $heap->extract();
}
return $arr;
}
$arr = array(5, 3, 8, 4, 9, 1, 6, 2, 7);
echo '<pre>';
print_r(heapSort($arr));
echo '</pre>';
----- Output -----
Array
(
[0] => 9
[1] => 8
[2] => 7
[3] => 6
[4] => 5
[5] => 4
[6] => 3
[7] => 2
[8] => 1
)
댓글목록
등록된 댓글이 없습니다.