Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    110

    [C]Albero binario:trovare num max di figli a destra e sinistra

    Ciao a tutti
    Oggi ho fatto esame di Fondamenti di Informatica 2..il testo di un esercizio ha creato molte ambiguità,per questo volevo capire se ero folle io per come lo inteso o se è folle il prof per come lo ha inteso lui, per far ciò vi proporrò il testo dell'esercizio cosi come lo ha scritto lui:

    Si scriva una funzione,in linguaggio C,che,preso in ingresso un albero binario ritorni il massimo tra il numero di figli di sinistra e il numero di figli di destra.

    Voi come lo fareste?
    Grazie mille per chi mi aiuterà

  2. #2
    In C++:
    codice:
    struct recNode
    {
      int data;
      recNode *left;
      recNode *right;
    };
    
    int countNodes(recNode *root)
    {
      if( !root )
        return 0;
      int r = 1;
      if( root->left )
        r += countNodes(root->left);
      if( root->right )
        r += countNodes(root->right);
      return r;
    }
    
    int maxLeftRightCount(recNode *root)
    {
      if( !root )
        return 0;
      int ml = countNodes(root->left);
      int mr = countNodes(root->right);
      return ml > mr ? ml : mr;
    }
    Magari funziona

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    110
    oky fai parte anche tu dei pazzi...il prof a fine esame ci ha detto che se noi abbiamo un albero i figli di dx e di sx si sceglievano cosi

    -------------------------------------------RADICE
    livello 1-----------------S-----------------------------------------D---------------
    livello 2-----------S------------D----------------------------S---------D----------
    livello 3-----S---------D---S--------D-------------------S----------S--------------
    livello 4--S------------------------------------------------------------D----------

    ho fatto un albero totalmente casuale tanto per dare un idea....spero che si capisca da questo pseudo-disegno
    DOVE D sono i figli di dx della radice e S sono i figli di sinistra della radice.....
    cioè secondo il suo raggionamento,se si può definire tale, un nodo se è a Dx del padre e un figlio Dx anche per la radice anche se il nodo in questione si trova nel sotto albero di Sx....secondo voi è possible pensare una cosa del genere?ci sono delle basi teoriche(che io non conosco) per cui quello che dice ha senso?

  4. #4
    Sinceramente dal testo dell'esame non era poi molto chiaro. Comunque contento lui
    In effetti vale il teorema che usavo quando ero a scuola:
    - dato un testo d'esame, esistono n possibili interpretazioni....la soluzione non è tra le n interpretazioni.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.