Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    8

    [C] cerca massimo in albero di ricerca

    devo fare una funzione che cerca il massimo di tutti i nodi in un albero binario..
    l'ho fatta ricorsiva..
    non funziona.. dice sempre che il max è in testa!!
    è sicuramente un errore concettuale...
    chi mi aiuta...???
    questa è la funzione scritta da me..


    Tnode* ricerca_max_punteggio(Ttree tree){

    Tnode* max=tree;
    if ((tree->left==NULL)&&(tree->right==NULL))
    return max;
    else
    {
    ricerca_max_punteggio(tree->left);
    if (tree->contest.vincitore.punteggio>max->contest.vincitore.punteggio)
    {
    max=tree;
    return max;
    }
    else return max;
    ricerca_max_punteggio(tree->right);



    }

  2. #2
    il massimo lo hai come sottoprodotto dell'ordinamento, usa la stessa logica di questo algoritmo.
    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    8
    non ho specificato che il mio albero non è ordinato...

  4. #4
    conosci l'algoritmo di ordinamento di un albero binario ?

  5. #5
    comunque l'elemento massimo non è l'ultimo a destra ? Ti muovi su tutti gli elementi dx fino a che non trovi NULL, questo è l'elemento più grande

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    8
    risolto

    si può chiudere grazie...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Originariamente inviato da mondobimbi
    comunque l'elemento massimo non è l'ultimo a destra ? Ti muovi su tutti gli elementi dx fino a che non trovi NULL, questo è l'elemento più grande
    In un albero binario di ricerca è esattamente così... ed in effetti nel titolo lui parla proprio di "albero binario di ricerca", anche se poi nel primo post del topic dice solo "albero binario"... insomma mistero

    risolto

    si può chiudere grazie...
    in questo forum non c'è l'usanza di chiudere i thread una volta risolti i problemi (questo ti direbbero i moderatori), e comunque in ogni caso sarebbe bello se scrivessi come hai risolto e soprattutto se chiarissi qual era il problema... giusto per dare un aiuto a chiunque si ritrovi con un problema analogo in futuro, non per altro
    every day above ground is a good one

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.