C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でツリーの最大の深さまたは高さを見つけるプログラムを作成する


この問題では、二分木が与えられます。私たちの仕事は、与えられた木の最大の深さまたは高さを見つけるプログラムを書くことです。

問題を理解するために例を見てみましょう

C++でツリーの最大の深さまたは高さを見つけるプログラムを作成する


木の高さは3です。

ツリーの最大の高さを見つけるために、その左右のサブツリーの高さを確認し、両方の最大値に1を追加します。これは再帰的なプロセスであり、ツリーの最後のノードが検出され、サブツリーの高さを検出するために1つが段階的に追加されます。

上記の例は、この方法を使用して解決されました。

木の高さを見つける、つまり、height(3)=max(height(5)、height(7))+1。

このために、値5と7のノードの高さを計算します。

height(5)=max(height(1)、height(9))+1および

height(7)=1、形成できるサブツリーはありません。

同様に、height(1)=height(9)=1

height(5)=max(1,1)+1 =2

height(3)=max(height(5)、height(7))+ 1 =max(2,1)+1=3。

したがって、高さは3になります。

ソリューションを説明するプログラム

#include <iostream>
using namespace std;
class node {
   public:
   int data;
   node* left;
   node* right;
};
int height(node* node) {
   if (node == NULL)
     return 0;
   else {
      int lDepth = height(node->left);
      int rDepth = height(node->right);
      if (lDepth > rDepth)
         return(lDepth + 1);
      else return(rDepth + 1);
   }
}
node* insertNode(int data) {
   node* Node = new node();
   Node->data = data;
   Node->left = NULL;
   Node->right = NULL;
   return(Node);
}
int main() {
   node *root = insertNode(4);
   root->left = insertNode(5);
   root->right = insertNode(0);
   root->left->left = insertNode(1);
   root->left->right = insertNode(9);
   cout<<"The height of the given binary tree is "<<height(root);
   return 0;
}

出力

The height of the given binary tree is 3

  1. C++で三角形の図心を見つけるプログラム

    この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ

  2. C++で平行四辺形の面積を見つけるプログラム

    この問題では、平行四辺形の底と高さを表す2つの値が与えられます。私たちのタスクは、C++で平行四辺形の領域を見つけるプログラムを作成することです。 平行四辺形 は、反対側が等しく平行な4辺の閉じた図形です。 問題を理解するために例を見てみましょう 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積=B* H =20 * 15 =300 ソリューションアプローチ この問題を解決するために、平行四辺形の面積の幾何学的公式を使用します。 Area = base * height. ソリューションの動作を説明するプログラム 例 #include <io