Adloun

algorithmique (école d'ingénieur) · Chapitre 9 · Exercice de TD

Arbre de hauteur minimum

Arbres binaires de recherche de coût minimum · niveau 1 (application)

Énoncé

  • Écrire AB abrhmin(int i, int j) qui retourne un arbre binaire de recherche de hauteur minimum construit sur l'intervalle (environ six lignes).
  • Dessiner abrhmin(0, 10) et donner sa hauteur.
  • Montrer qu'un arbre binaire de hauteur contient au plus valeurs. En déduire qu'un abr de valeurs a une hauteur au moins égale à .

Corrigé

  • La valeur médiane à la racine, puis récursivement les deux moitiés :

static AB abrhmin(int i, int j) {                 // abr de hauteur minimum sur [i:j]
    if (j - i <= 0) return null;                  // intervalle vide : arbre vide
    int k = (i + j) / 2;                          // valeur médiane
    return new AB(k, abrhmin(i, k), abrhmin(k + 1, j));
}
  • On obtient un arbre de hauteur :

(5 (2 (1 (0 () ()) ()) (4 (3 () ()) ())) (8 (7 (6 () ()) ()) (9 () ())))
  • Le niveau d'un arbre binaire contient au plus valeurs, donc un arbre de hauteur en contient au plus . Si alors , et est entier. Pour : : abrhmin atteint bien le minimum.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →