Table des matières
语法
参数
算法
Example
示例
输出
结论
Maison développement back-end C++ Isomorphisme dans les arbres N-aires

Isomorphisme dans les arbres N-aires

Sep 15, 2023 am 09:01 AM
编程关键词 arbre n-aire isomorphisme

同构被定义为两棵树具有相同或镜像结构。在镜像结构的情况下,左节点的数据将始终与右节点匹配。例如,我们将取一个最接近镜像的数字,看看它的反向是什么,这就是同构的真正概念。

在本文中,我们将检查两个不同的二叉树是否同构。

让我们以N叉树的同构为例-

Isomorphisme dans les arbres N-aires

请注意,L代表左节点,而R代表右节点

左侧最左第二分区的P和Q树的镜像结构

Isomorphisme dans les arbres N-aires

这两个图示展示了它们如何通过给出四个匹配条件(P和Q的根节点)来彼此同构。

  • 左-左节点可以匹配。

  • 要么可以匹配右-右节点。

  • 左右节点均可匹配。

  • 要么右左无法匹配。

语法

程序中使用了以下语法−

struct name_of_structure{
   data_type var_name;   
   // data member or field of the structure.
}
Copier après la connexion

参数

  • struct − 这个关键字用于表示结构数据类型。

  • name_of_structure − 我们为结构提供任何名称。

  • 结构是将各种相关变量集中在一个地方的集合。

算法

  • 我们将使用一个名为‘iostream’的头文件来开始程序。

  • 我们正在创建名为‘tree_node’的结构,其中包含整数类型‘d’和初始化指针变量- ‘l’‘r’,分别表示左右子节点的数据。

  • 现在我们使用一个名为‘create_node()’的函数创建另一个结构,该函数接受一个名为‘data’的参数来指定根节点的值。同时,我们创建一个名为‘tree_node’的指针,并使用给定的数据来初始化左子节点和右子节点的指针为空,并返回根节点。使用这个函数,我们将插入左子节点和右子节点的节点。

  • 我们正在创建一个名为‘check_isomorphism_tree 的函数,它使用布尔数据类型,以两个tree_node指针pq作为输入参数,并返回一个布尔值。在其中,我们两次创建一个“if语句”来检查p中的数据是否等同于q中的数据。

    • 检查p和q是否都为null,如果是,则返回true,因为树是同构的。

    • 检查 p 或 q 中是否有任何一个为 null,如果是,则返回 false,因为这两棵树不是同构的。

  • ‘check_isomorphism_tree’函数中,我们使用逻辑运算符“&&”和“||”递归检查节点‘p’‘q’的所有可能的左右子节点组合。

  • 我们从主函数开始,创建两个树节点“p”和“q”来提供信息。

  • 在主函数中,我们使用if语句调用‘check_isomorphism_tree’函数,并传递给定的参数p和q来验证这些整数值是否同构。如果它们是同构的,则打印语句为“这个给定的节点信息将生成同构树”,否则相反。

Example

的中文翻译为:

示例

在这个程序中,我们将检查两个二叉树是否同构。

#include<iostream>
using namespace std;
struct tree_node{
   int d;
   tree_node*l;  // l = left
   tree_node*r;  // r = right
};
struct tree_node* create_node(int data){
   struct tree_node*root= new tree_node;
   root->d= data;
   root->l= NULL;
   root->r= NULL;
   return root;    
}
bool check_isomorphism_tree(tree_node*p, tree_node*q)  {
// p and q both are different tree
   if(p==NULL and q==NULL){
      return true;
   }
   if(p==NULL or q==NULL){
      return false;
   }
   // return all the possible condition 
   return (p->d==q->d && ((check_isomorphism_tree(p->l,q->r)&& check_isomorphism_tree(p->r,q->l))||(check_isomorphism_tree(p->l,q->l)&& check_isomorphism_tree(p->r,q->r))));
}
int main(){
   // Tree of root p
	struct tree_node *p = create_node(10); 
   p->l  = create_node(5); 
   p->r = create_node(4); 
   p->l->l = create_node(11); 
   p->r->r = create_node(12);
   p->l->r = create_node(51); 
   p->r->l = create_node(6); 
   p->l->r->l = create_node(7); // left->right->left
   p->l->l->l = create_node(9); // left->left->left
   // Tree of root q
   struct tree_node *q = create_node(10); 
   q->l  = create_node(5); 
   q->r = create_node(4); 
   q->l->l = create_node(11); 
   q->r->r = create_node(12);
   q->l->r = create_node(51); 
   q->r->l = create_node(6); 
   q->l->r->l = create_node(7); 
   q->l->l->l = create_node(9);
   if(check_isomorphism_tree(p,q)){
      cout<<"This given information of node will make isomorphism tree"<<endl;
   } else {
      cout<<" This given information of node will not make isomorphism tree "<<endl;
   }
   return 0;
}
Copier après la connexion

输出

This given information of node will make isomorphism tree
Copier après la connexion

结论

在这个程序中,我们理解了N叉树中同构的概念。我们看到了如何使用结构来表示树节点,以及使用左-左节点、右-左节点、左-右-左节点等来构建树,以下操作有助于满足树的同构性质。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment changer l'extension de fichier du Bloc-notes Win10 Comment changer l'extension de fichier du Bloc-notes Win10 Jan 04, 2024 pm 12:49 PM

Lorsque nous utilisons le Bloc-notes, nous devons changer l'extension du Bloc-notes en raison de différentes choses que nous devons gérer. Alors, comment changer l'extension ? En fait, nous n'avons besoin que d'utiliser la fonction renommer pour modifier l'extension ? Comment changer l'extension du Bloc-notes Win10 : 1. Dans le dossier, cliquez d'abord en haut et cochez-le. 2. De cette façon, l'extension du fichier sera affichée, puis cliquez avec le bouton droit sur votre bloc-notes et sélectionnez 3. Sélectionnez Modifiez ce qui suit. 4. S'il est modifié au format .jpeg. Ensuite, une invite apparaîtra, cliquez dessus. 5. Le changement est terminé, et c’est tout.

Comment convertir du HTML au format MP4 Comment convertir du HTML au format MP4 Feb 19, 2024 pm 02:48 PM

Titre : Comment convertir du HTML au format MP4 : Exemple de code détaillé Dans le processus quotidien de production Web, nous rencontrons souvent le besoin de convertir des pages HTML ou des éléments HTML spécifiques en vidéos MP4. Par exemple, enregistrez des effets d'animation, des diaporamas ou d'autres éléments dynamiques sous forme de fichiers vidéo. Cet article explique comment utiliser HTML5 et JavaScript pour convertir du HTML au format MP4 et fournit des exemples de code spécifiques. Balise vidéo HTML5 et introduction à CanvasAPI HTML5

Appeler le déclencheur SQL pour exécuter un programme externe Appeler le déclencheur SQL pour exécuter un programme externe Feb 18, 2024 am 10:25 AM

Titre : Exemples de code spécifiques permettant aux déclencheurs SQL d'appeler des programmes externes Texte : Lors de l'utilisation de déclencheurs SQL, il est parfois nécessaire d'appeler des programmes externes pour traiter certaines opérations spécifiques. Cet article explique comment appeler des programmes externes dans des déclencheurs SQL et donne des exemples de code spécifiques. 1. Créer un déclencheur Tout d'abord, nous devons créer un déclencheur pour écouter un événement dans la base de données. Ici, nous prenons comme exemple la "table de commande (order_table)" Lorsqu'une nouvelle commande est insérée, le déclencheur sera activé, puis le programme externe sera appelé pour effectuer une opération.

Comment extraire les fichiers Dump Comment extraire les fichiers Dump Feb 19, 2024 pm 12:15 PM

Comment récupérer les fichiers Dump Dans un système informatique, un fichier Dump est un fichier qui enregistre l'état de fonctionnement et les données du système. Dans le développement de logiciels et le dépannage du système, la récupération des fichiers Dump peut aider les développeurs de programmes et les administrateurs système à analyser et à diagnostiquer divers problèmes, tels que les plantages de programmes, les fuites de mémoire et les anomalies du système. Cet article présentera quelques méthodes et outils courants pour récupérer les fichiers Dump. 1. Comment récupérer les fichiers Dump sous le système Windows à l'aide du Gestionnaire des tâches : Dans le système d'exploitation Windows,

Date de sortie de Windows 12 Date de sortie de Windows 12 Jan 05, 2024 pm 05:24 PM

Auparavant, Win11 était officiellement publié et de nombreux utilisateurs ont déjà commencé à profiter de Win12. Ils veulent savoir quand Win12 sortira. En fait, selon les règles, il sortira vers 2024. Quand Win12 est-il sorti : R : Win12 devrait être publié vers l’automne 2024. 1. Selon les dernières informations de Microsoft, Win12 devrait sortir à l’automne 2024. 2. Et cette fois, win12 aura plusieurs nouveaux concepts de conception, et il y aura davantage d'améliorations en termes de netteté et d'apparence visuelle. 3. Lors de la dernière réunion des développeurs, les développeurs de Microsoft ont révélé qu'ils créeraient une barre des tâches flottante pour donner à la barre des tâches une sensation de flottement.

Comment ajuster le rapport d'affichage du bureau Windows 7 Comment ajuster le rapport d'affichage du bureau Windows 7 Dec 27, 2023 am 08:13 AM

De nombreux amis utilisent Win7 lorsqu'ils regardent des vidéos ou du matériel sur l'ordinateur, ils devront ajuster la proportion. Alors, comment l'ajuster ? Jetons un coup d'œil à la méthode de réglage détaillée. Comment définir le taux d'affichage du bureau de Win7 : 1. Cliquez sur le coin inférieur gauche de l'ordinateur pour ouvrir le "Panneau de configuration". 2. Recherchez ensuite « Apparence » dans le panneau de configuration. 3. Après avoir entré l'apparence, cliquez sur "Afficher". 4. Vous pouvez ensuite ajuster la taille et l'affichage du bureau en fonction de l'effet d'affichage souhaité. 5. Vous pouvez également cliquer sur « Ajuster la résolution » sur la gauche. 6. Ajustez la proportion du bureau de l'ordinateur en modifiant la résolution de l'écran.

Quel est le rôle du panneau de configuration NVIDIA ? Quel est le rôle du panneau de configuration NVIDIA ? Feb 19, 2024 pm 03:59 PM

Qu'est-ce que le panneau de configuration NVIDIA ? Avec le développement rapide de la technologie informatique, l'importance des cartes graphiques est devenue de plus en plus importante. En tant que l'un des principaux fabricants de cartes graphiques au monde, le panneau de configuration de NVIDIA a attiré encore plus d'attention. Alors, que fait exactement le panneau de configuration NVIDIA ? Cet article vous donnera une introduction détaillée aux fonctions et utilisations du panneau de configuration NVIDIA. Tout d'abord, comprenons le concept et la définition du panneau de configuration NVIDIA. Le panneau de configuration NVIDIA est un logiciel utilisé pour gérer et configurer les paramètres liés à la carte graphique.

Le rôle de la pleine largeur et de la demi-largeur dans la méthode de saisie chinoise Le rôle de la pleine largeur et de la demi-largeur dans la méthode de saisie chinoise Mar 25, 2024 am 09:57 AM

La pleine largeur et la demi-largeur sont des concepts courants dans les méthodes de saisie chinoises et représentent différentes largeurs de caractères. Dans le domaine informatique, les notions de pleine largeur et de demi-largeur sont principalement utilisées pour décrire la taille de l'espace occupé par les caractères chinois et les lettres anglaises à l'écran ou sur papier. Tout d’abord, la pleine largeur et la demi-largeur sont originaires de l’ère des machines à écrire. Sur les machines à écrire, les caractères chinois sont généralement affichés en pleine largeur, tandis que les caractères anglais sont affichés en demi-largeur. En effet, les caractères chinois sont relativement larges et l'utilisation de la pleine largeur peut rendre l'article entier plus beau et la mise en page plus compacte. Les caractères anglais sont

See all articles