Isomorphisme dans les arbres N-aires
同构被定义为两棵树具有相同或镜像结构。在镜像结构的情况下,左节点的数据将始终与右节点匹配。例如,我们将取一个最接近镜像的数字,看看它的反向是什么,这就是同构的真正概念。
在本文中,我们将检查两个不同的二叉树是否同构。
让我们以N叉树的同构为例-

请注意,L代表左节点,而R代表右节点
左侧最左第二分区的P和Q树的镜像结构

这两个图示展示了它们如何通过给出四个匹配条件(P和Q的根节点)来彼此同构。
左-左节点可以匹配。
要么可以匹配右-右节点。
左右节点均可匹配。
要么右左无法匹配。
语法
程序中使用了以下语法−
struct name_of_structure{ data_type var_name; // data member or field of the structure. }
参数
struct − 这个关键字用于表示结构数据类型。
name_of_structure − 我们为结构提供任何名称。
结构是将各种相关变量集中在一个地方的集合。
算法
我们将使用一个名为‘iostream’的头文件来开始程序。
我们正在创建名为‘tree_node’的结构,其中包含整数类型‘d’和初始化指针变量- ‘l’和‘r’,分别表示左右子节点的数据。
现在我们使用一个名为‘create_node()’的函数创建另一个结构,该函数接受一个名为‘data’的参数来指定根节点的值。同时,我们创建一个名为‘tree_node’的指针,并使用给定的数据来初始化左子节点和右子节点的指针为空,并返回根节点。使用这个函数,我们将插入左子节点和右子节点的节点。
我们正在创建一个名为‘check_isomorphism_tree 的函数,它使用布尔数据类型,以两个tree_node指针p和q作为输入参数,并返回一个布尔值。在其中,我们两次创建一个“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; }
输出
This given information of node will make isomorphism tree
结论
在这个程序中,我们理解了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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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.

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

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 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,

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.

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.

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.

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
