この記事はWeChatの公開アカウント「3分でフロントエンドを学ぶ」から転載したもので、著者はsisterAnです。この記事を転載する場合は、「3分で学ぶフロントエンド」公式アカウントまでご連絡ください。 木の基礎については、こちらをご覧ください: 初心者のための木 二分木が与えられた場合、それが高さバランスの取れた二分木であるかどうかを判断します。 この問題では、高度にバランスのとれた二分木は次のように定義されます。 バイナリ ツリー内の各ノードの左側のサブツリーと右側のサブツリー間の高さの差の絶対値は 1 を超えません。 例1: 二分木[3,9,20,null,null,15,7]が与えられた場合
true を返します。 例2: 二分木[1,2,2,3,3,null,null,4,4]が与えられた場合
false を返します。 解決策 1: トップダウン (ブルートフォース)解決方法: 各ノードの左サブツリーと右サブツリーの最大高さの差を上から下まで比較します。バイナリ ツリー内の各ノードの左サブツリーと右サブツリーの最大高さの差が 1 以下、つまり各サブツリーのバランスが取れている場合、バイナリ ツリーはバランスの取れたバイナリ ツリーです。 コード実装:
複雑性分析:
解決策2: ボトムアップ(最適化)解決方法: バイナリ ツリー (左ルートと右ルート) の後続のトラバーサルを使用して、下から上へのサブツリーの最大の高さを返し、各サブツリーがバランスの取れたツリーであるかどうかを判断します。バランスが取れている場合は、その高さを使用して親ノードがバランスが取れているかどうかを判断し、親ノードの高さを計算します。バランスが取れていない場合は、-1 を返します。 バイナリ ツリー内の各ノードの左サブツリーと右サブツリーの深さを走査して比較します。
コード実装:
複雑性分析:
|
<<: AIと自動化を活用して機密データを大規模に識別する方法
>>: 清華大学のAI学生が顔を見せて歌う、この応用は将来に期待される
IT Homeは11月20日、Metaが昨日、FacebookとInstagram向けの写真と動画に...
インテリジェント製造は、世界中の工業製造企業が追求する目標です。インテリジェント化のプロセスには、設...
[[433164]] [51CTO.com クイック翻訳]周知のように、小売業界の競争は激しく、人工...
[[391010]]昨今、都市化の加速と生活水準の向上に伴い、ペットを飼うことがますます多くの人々の...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
人工知能は、IoT の機能を実現する上で重要な役割を果たします。 AI と IoT の融合を推進し、...
この記事では、TensorFlow、CNTK、MXNet、Theano など、Keras でサポート...
これまで耳にした人工知能の進歩のほぼすべては、30 年前に発表された、多層ニューラル ネットワークを...
OpenAIの共同創設者サム・アルトマン氏は最近、Nvidiaに対抗するために世界中にAIチップ工場...
[PConline News] ジャカルタアジア競技大会が閉幕し、アジア競技大会は正式に杭州タイムに...
AI は IIoT から生成される膨大な量のデータを管理できるため、その基盤となるアーキテクチャはセ...
いつも衝撃的な発言をするマスク氏がまたもや発言した。 最近、Insiderの親会社であるAxel S...