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

小云云
リリース: 2023-03-19 15:10:01
オリジナル
1382 人が閲覧しました

この記事では、PHP でバイナリ ツリーを上から下に出力する方法を主に紹介し、PHP のバイナリ ツリー トラバースに関連する操作テクニックを紹介します。必要な方はぜひ参考にしてください。

質問

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

解決策

ツリーの各層は左から右に出力されるため、ノードの左右のサブツリーを保存する必要があります。これは先入れ先出し方式であるため、キューが使用されます。

実装コード


/*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でバイナリツリーを上から下へ出力する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!