Visualizzazione dei risultati da 1 a 2 su 2

Discussione: altezza nodo

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232

    altezza nodo

    dovrei fare un metodo che sia iterativo per visitare l' albero e restituirmi una lista ordinate che contiene il nodo e la sua relativa altezza. Ma il conteggio del sottoalbero destro viene sbagliata, cm posso aggiustare il codice?. L' albero è un BST
    codice:
    public List Beta (List output, int liv ) {
    		
    		IntBTNodo p = root;
    		Stack pila = new Stack ( );
    		
    		if(p!=null) {
    			
    			pila.Push(p);
    			
    			while (!pila.IsEmpty()) {
    				
    				p = (IntBTNodo)pila.Pop();
    				
    				if(!pila.IsEmpty() || p.right == null || p.left == null  ) {
    					
    					liv=liv+1;
    				}
    				
    				output.InsertOrdered(p.visit(),liv);
    				
    				if(pila.IsEmpty() && (p.right == null || p.left == null)) {					
    					liv = 0;
    				}
    				if(p.right == null && p.left == null) {
    					
    					liv = liv-1;
    					
    				}
    				
    				if(p.right != null) pila.Push(p.right);
    					
    				
    				if(p.left != null) pila.Push(p.left);
    				
    				
    				
    			}
    			
    		}
    		return output;

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    232
    problema risolto, la soluzione era di usare un nuovo oggetto che contenesse tutte e due le informazioni.

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.