Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [c++] Alberi Generici

  1. #1

    [c++] Alberi Generici

    Devo scrivere una funzione int conta(Node* tree) che dato un albero generico memorizzato con la memorizzazione figlio-fratello, mi restituisce il numero di nodi aventi esattamente due figli. Come fare???




    grazie

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    dammi l'esatta definizione del tipo Tree

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Il tipo non è tree (è solo il nome del puntatore) ,il tipo è Node.


    struct Node {
    Infotype label;
    Node* left, *right;}

    left è il puntatore al primo figlio del nodo
    right è il puntatore al primo fratello del nodo


    Bisogan usare la ricorsione

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Un nodo ha due figli se vaglono queste tre condizioni:

    1 - nodo -> left != NULL (ha un primo figlio)
    2 - nodo -> left -> right != NULL (ha un secondo figlio)
    3 - nodo -> left -> right -> right == NULL (non ha un terzo figlio)


    codice:
    int nodi_con_2_figli(Node* tree){
        if(tree == NULL)
            return 0;
        int count = 0;
        if(tree->left != NULL)
           if(tree->left-> right != NULL)
               if(tree->left-> right->right == NULL)
                   count++;
        count = count + nodi_con_2_figli(tree->left);
        count = count + nodi_con_2_figli(tree->right);
        return count;
    }

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.