에티테마

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
)
 
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.