에티테마

php 트리정렬 알고리즘

페이지 정보

작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 작성일 22-12-13 01:53

본문

트리 정렬은 기본적으로 이진 트리를 사용하는 정렬 알고리즘입니다. 

이진 트리는 노드와 노드 사이의 연결선을 사용하여 데이터를 구조화한 것입니다. 

각 노드는 최대 두 개의 자식 노드를 가질 수 있으며, 자식 노드들은 정렬된 상태로 저장되어야 합니다. 

트리 정렬은 데이터를 이진 트리에 저장한 다음, 이진 트리를 순회하면서 데이터를 정렬된 순서대로 나열하는 방식으로 작동합니다.


function treeSort($arr) {
    $tree = new SplMinHeap();
    foreach ($arr as $value) {
        $tree->insert($value);
    }
    $arr = array();
    while (!$tree->isEmpty()) {
        $arr[] = $tree->extract();
    }
    return $arr;
}

$arr = array(5, 3, 8, 4, 9, 1, 6, 2, 7);
echo '<pre>';
print_r(treeSort($arr));
echo '</pre>';

----- Output -----
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
    [6] => 7
    [7] => 8
    [8] => 9
)
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.