alebertaz
25-06-2006, 22:11
Salve, qualcuno di voi sà come posso risolvere quest'esercizio in java relativo agli alberi binari???
http://img233.imageshack.us/img233/1325/essss1gq.jpg
Queste sono le varie classi (un grazie davvero x chi mi può aiutare :rolleyes: ):
****************************** classe BTNode.java ****************************
package BinTrees;
class BTNode {
Object key; // valore associato al nodo
BTNode parent; // padre del nodo
BTNode left; // figlio sinistro del nodo
BTNode right; // figlio destro del nodo
// post: ritorna un albero di un solo nodo, con valore value e sottoalberi
// sinistro e destro vuoti
BTNode(Object ob) {
key = ob;
parent = left = right = null;
}
// post: ritorna un albero contenente value e i sottoalberi specificati
BTNode(Object ob,
BTNode left,
BTNode right,
BTNode parent) {
key = ob;
this.parent = parent;
setLeft(left);
setRight(right);
}
....
....
}
****************************** classe BinaryTree.java ****************************
package BinTrees;
import java.util.Iterator;
import Queues.*;
public class BinaryTree implements BT {
private BTNode root; // la radice dell’albero
private BTNode cursor; // puntatore al nodo corrente
private int count; // numero nodi dell’albero
// post: crea un albero binario vuoto
public BinaryTree() {
root = null;
cursor = null;
count = 0;
}
....
....
}
****************************** classe QueueCollegata.java ****************************
package Queues;
public class QueueCollegata implements Queue {
private QueueRecord head; // puntatore al primo elemento in coda
private QueueRecord tail; // puntatore all’ultimo elemento della coda
private int count; // numero di elementi in coda
// post: costruisce una coda vuota
public QueueCollegata() {
head = null;
tail = null;
count = 0;
}
// post: ritorna il numero di elementi nella coda
public int size() {...}
// post: ritorna true sse la coda e’ vuota
public boolean isEmpty() {...}
// post: svuota la coda
public void clear() {...}
// pre: coda non vuota
// post: ritorna il valore del primo elemento della coda
public Object front() {...}
// pre: value non nullo
// post: inserisce value in coda
public void enqueue(Object ob) {...}
// pre: coda non vuota
// post: ritorna e rimuove l’elemento il primo elemento in coda
public Object dequeue() {...}
}
http://img233.imageshack.us/img233/1325/essss1gq.jpg
Queste sono le varie classi (un grazie davvero x chi mi può aiutare :rolleyes: ):
****************************** classe BTNode.java ****************************
package BinTrees;
class BTNode {
Object key; // valore associato al nodo
BTNode parent; // padre del nodo
BTNode left; // figlio sinistro del nodo
BTNode right; // figlio destro del nodo
// post: ritorna un albero di un solo nodo, con valore value e sottoalberi
// sinistro e destro vuoti
BTNode(Object ob) {
key = ob;
parent = left = right = null;
}
// post: ritorna un albero contenente value e i sottoalberi specificati
BTNode(Object ob,
BTNode left,
BTNode right,
BTNode parent) {
key = ob;
this.parent = parent;
setLeft(left);
setRight(right);
}
....
....
}
****************************** classe BinaryTree.java ****************************
package BinTrees;
import java.util.Iterator;
import Queues.*;
public class BinaryTree implements BT {
private BTNode root; // la radice dell’albero
private BTNode cursor; // puntatore al nodo corrente
private int count; // numero nodi dell’albero
// post: crea un albero binario vuoto
public BinaryTree() {
root = null;
cursor = null;
count = 0;
}
....
....
}
****************************** classe QueueCollegata.java ****************************
package Queues;
public class QueueCollegata implements Queue {
private QueueRecord head; // puntatore al primo elemento in coda
private QueueRecord tail; // puntatore all’ultimo elemento della coda
private int count; // numero di elementi in coda
// post: costruisce una coda vuota
public QueueCollegata() {
head = null;
tail = null;
count = 0;
}
// post: ritorna il numero di elementi nella coda
public int size() {...}
// post: ritorna true sse la coda e’ vuota
public boolean isEmpty() {...}
// post: svuota la coda
public void clear() {...}
// pre: coda non vuota
// post: ritorna il valore del primo elemento della coda
public Object front() {...}
// pre: value non nullo
// post: inserisce value in coda
public void enqueue(Object ob) {...}
// pre: coda non vuota
// post: ritorna e rimuove l’elemento il primo elemento in coda
public Object dequeue() {...}
}