Visualizzazione dei risultati da 1 a 1 su 1

Discussione: Alberi binari

  1. #1

    Alberi binari

    Salve, io devo fare questo esercizio:"Scrivere la funzione public static <E>true f(BinaryTree<E> T).
    Istruzioni per lo svolgimento dell’esercizio:
    • La funzione deve effettuare una visita ricorsiva di T e restituire true se e solo se ciascun
    nodo interno ha due figli e questi contengono entrambi lo stesso elemento.
    • Se T è vuoto la funzione deve lanciare l’eccezione EmptyTreeException."

    Io ho fatto così, ma restituisce sempre false. Potete aiutarmi? Grazie mille!

    codice:
        public static <E> boolean f(BinaryTree<E> T) {
            if(T.isEmpty()) throw new EmptyTreeException("L'albero è vuoto");
            return visita(T,T.root(),true);
        }
    
    
        private static <E> boolean visita(BinaryTree<E> T, Position<E> p, boolean a) {
            if(T.isInternal(p)) {
                for(Position<E> v : T.children(p))
                    a = visita(T,v,a);
            }
            if(!T.hasLeft(p) || !T.hasRight(p)) a = false;
            else if(!T.left(p).element().equals(T.right(p).element())) a = false;
            return a;
        }
    Ultima modifica di Aleandro23; 13-09-2017 a 21:42

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.