karlangadas

TREE: 8TAD

Nov 14th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.84 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "arbol.h"
  4. int CompruebaSubArbol(TNode *node1,TNode *node2){
  5.     if (node2==NULL)
  6.         return 1;
  7.     if (node2->elem!=node1->elem)
  8.         return 0;
  9.     return CompruebaSubArbol(node1->left,node2->left) && CompruebaSubArbol(node1->right,node2->right);
  10. }
  11. int esSubArbol(TBinaryTree *T,TBinaryTree *D){
  12.     TNode *q=T->root;
  13.     while(q->elem!=D->root->elem && q!=NULL){
  14.         if (q->elem>D->root->elem) q=q->left;
  15.         else q=q->right;
  16.     }
  17.     if (q!=NULL)
  18.         return CompruebaSubArbol(q,D->root);
  19.     return 0;
  20. }
  21. int main(){
  22.     TBinaryTree T;
  23.     init_tree(&T);
  24.     TBinaryTree D;
  25.     init_tree(&D);
  26.    
  27.     insert(&T,10);
  28.     insert(&T,6);
  29.     insert(&T,15);
  30.     insert(&T,4);
  31.     insert(&T,7);
  32.     insert(&T,13);
  33.     insert(&T,17);
  34.     insert(&T,0);
  35.  
  36.     insert(&D,6);
  37.     insert(&D,4);
  38.     insert(&D,7);
  39.    
  40.     printf("%d\n",esSubArbol(&T,&D));
  41.    
  42.  
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment