>  기사  >  백엔드 개발  >  PHP에서 위에서 아래로 이진 트리를 인쇄하는 방법

PHP에서 위에서 아래로 이진 트리를 인쇄하는 방법

韦小宝
韦小宝원래의
2018-01-19 10:36:451111검색

이 글은 주로 PHP에서 이진 트리를 위에서 아래로 인쇄하는 방법을 소개하며, PHP 이진 트리 탐색과 관련된 작업 기술을 포함합니다. PHP에 관심이 있는 친구들은 이 글을 참고하세요

이 글의 예가 그 이야기를 담고 있습니다. PHP 구현을 위에서 아래로 이진 트리를 인쇄하는 방법입니다. 참조를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

Question

이진 트리의 각 노드를 위에서 아래로 인쇄하고, 같은 수준의 노드를 왼쪽에서 오른쪽으로 인쇄합니다.

Solution

트리의 각 레이어는 왼쪽에서 오른쪽으로 인쇄되므로 노드의 왼쪽 및 오른쪽 하위 트리가 먼저 들어와서 먼저 나오므로 queue를 사용하세요.

구현 코드

/*class TreeNode{
  var $val;
  var $left = NULL;
  var $right = NULL;
  function construct($val){
    $this->val = $val;
  }
}*/
function PrintFromTopToBottom($root)
{
  $queueVal = array();
  $queueNode = array();
  if($root == NULL)
    return $queueVal;
  array_push($queueNode, $root);
  while(!empty($queueNode)){
    $node = array_shift($queueNode);
    if($node->left != NULL)
      array_push($queueNode,$node->left);
    if($node->right != NULL)
      array_push($queueNode,$node->right);
    array_push($queueVal,$node->val);
  }
  return $queueVal;
}

위 내용이 이 글의 전부입니다. PHP를 배우는 모든 분들에게 도움이 되었으면 좋겠습니다! !

관련 권장사항:

PHP는 두 개의 스택을 사용하여 대기열 기능을 구현합니다.

PHP는 선순, 순순 및 후순 순회 이진 트리 작업 예제를 구현합니다.

PHP는 ffmpeg를 호출하여 비디오 스크린샷을 찍습니다. 그리고 공유할 스플라이스 스크립트 예제

위 내용은 PHP에서 위에서 아래로 이진 트리를 인쇄하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.