バイナリ ツリーが与えられた場合、そのノード値のボトムアップ レベルのトラバーサルを返します。 (つまり、リーフノードが配置されているレイヤーからルートノードが配置されているレイヤーまで、左から右にトラバースします) 例えば、二分木[3,9,20,null,null,15,7]が与えられた場合、 3 / \ 9 20 / \ 15 7 ボトムアップ レベルのトラバーサルを次のように返します。
解決策 1: BFS (幅優先探索)BFS は、各レイヤーのノードをレイヤーごとに走査します。この質問では各レイヤーのノード値を返す必要があるため、BFS はこの問題に非常に適しています。 BFS は補助構造としてキューを使用する必要があります。まずルート ノードをキューに入れてから、キューのトラバースを続けます。
複雑性分析
ソリューション 2: DFS (深さ優先探索)DFS は、ツリーのノードをその深さに沿ってトラバースし、ツリーのブランチを可能な限り深く検索します。 この問題における DFS の主な問題は、DFS がレベルを横断しないことです。再帰プロセス中に同じレベルのノードを同じリストに配置するには、再帰中に各ノードの深さを記録する必要があります。新しいノードに再帰する場合は、深さに対応するリストの最後にノードを配置します。 新しい深度 depth にトラバースするときに、depth に対応するリストが最終結果 res に作成されていない場合は、深度のすべてのノードを保存するために res に新しいリストを作成する必要があります。
複雑性分析:
|
<<: ボーダーライン上の質問:テクノロジー企業はAIアルゴリズムを使って従業員の採用と解雇を行っている
>>: 二分木の再帰的および非再帰的トラバーサルアルゴリズムテンプレート
Microsoft Research Asia (MSRA) と Orient Overseas C...
COVID-19 パンデミックにより、増大するデータ量を管理し、そこから洞察を得るための IoT に...
廃棄フィルム2枚がパチンと貼り合わされました!見逃した素晴らしい瞬間をすぐに蘇らせることができ、効果...
適切なデータ戦略を使用して人工知能 (AI) を実装すると、データがシステムにシームレスに流れ込み、...
[[432431]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
代償なくして勝利はない。しかし、私たちはしばしばこのことを忘れ、即座の勝利を要求します。これは、世界...
[[436989]]コンピュータービジョン界は最近非常に活発です。まず、He Kaiming 氏らは...
最近、自律型ドローンがドローン競技会で人間のトッププレイヤーに勝利しました。この自律型ドローンは、チ...
人工知能は食品システムを最適化できると思いますか? 精密農業からパーソナライズされた栄養管理まで、農...
[51CTO.com クイック翻訳] ディープラーニングは複雑な概念であり、その中の各要素は単純では...
1. プロジェクトの説明1.DEMOのアイデアはカード辞書です。 2. カードによって表示される内容...