この記事では、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 中国語 Web サイトの他の関連記事を参照してください。