Je dispose d'un extrait fonctionnel à utiliser pour un arbre régulier composé de nœuds. Il ne me reste plus qu'à le modifier pour qu'il fonctionne pour des arbres 2-3-4, ce qui devrait être plus facile, puisque chaque chemin a la même distance, puisqu'il est équilibré, n'est-ce pas ?
Les méthodes dont je dispose sont les suivantes getNextChild()
, split()
et bien sûr insert()
.
public int height() {
return (height(root));
}
private int height(TNode localRoot) {
if(localRoot == null) {
return 0;
}
else {
//Find each sides depth
int lDepth = height(localRoot.leftChild);
int rDepth = height(localRoot.rightChild);
//Use the larger of the two
return (Math.max(lDepth, rDepth) + 1);
}
}