ホームページ  >  記事  >  バックエンド開発  >  PHP でバイナリ ツリーを上から下に出力する方法

PHP でバイナリ ツリーを上から下に出力する方法

韦小宝
韦小宝オリジナル
2018-01-19 10:36:451111ブラウズ

この記事では、主に PHP でバイナリ ツリーを上から下に出力する方法を紹介します。PHP バイナリ ツリー トラバーサルに関連する操作スキルも含まれます。PHP に興味のある友人は、この記事を参照してください。

この記事の例が物語を伝えています。 PHPの実装を上から順にバイナリツリーを出力するメソッド。参考までに皆さんと共有してください。詳細は次のとおりです:

質問

バイナリツリーの各ノードを上から下に出力し、同じレベルのノードを左から右に出力します。

解決策

ツリーの各層は左から右に出力されるため、ノードの左と右のサブツリーを保存する必要があります。これは先入れ先出しなので、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 は 2 つのスタックを使用してキュー関数を実装します

PHP は、事前順序、順序内、および順序後のトラバーサル バイナリ ツリー操作の例を実装します

PHP は ffmpeg を呼び出してビデオ スクリーンショットを取得します共有するスプライス スクリプトの例

以上がPHP でバイナリ ツリーを上から下に出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。