php 트리정렬 알고리즘
페이지 정보
작성자
본문
트리 정렬은 기본적으로 이진 트리를 사용하는 정렬 알고리즘입니다.
이진 트리는 노드와 노드 사이의 연결선을 사용하여 데이터를 구조화한 것입니다.
각 노드는 최대 두 개의 자식 노드를 가질 수 있으며, 자식 노드들은 정렬된 상태로 저장되어야 합니다.
트리 정렬은 데이터를 이진 트리에 저장한 다음, 이진 트리를 순회하면서 데이터를 정렬된 순서대로 나열하는 방식으로 작동합니다.
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
)
댓글목록
등록된 댓글이 없습니다.