|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2012
Messaggi: 59
|
[JAVA] Cercare un nodo in un albero binario
Ciao! Ho un albero binario non di ricerca e devo creare un metodo che, dato un intero x, cerchi se x è presente nell'albero oppure no. Dev'essere facilissimo ma non mi viene.. Mi funziona solo se x si trova alla radice, altrimenti da errore.
Codice:
public class BinaryTree { protected class Node { Integer element; Node left; Node right; Node(int element) { this.element = element; left = right = null; } Node(int element, Node left, Node right) { this.element = element; this.left = left; this.right = right; } boolean isLeaf() { return left == null && right == null; } } protected Node root; public BinaryTree() { root = null; } public boolean isEmpty() { return root == null; } public boolean search(int x) { if (root == null) return false; return search(root, x); } protected boolean search(Node node, int x) { if(node.element == x) return true; else if (node.element != x) return search(node.left, x) || search(node.right, x); else return false; } } ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Nella
protected boolean search(Node node, int x) devi ritornare subito false, se node e' null
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2012
Messaggi: 59
|
Grazie
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:49.