Structures de données et algorithmes

Quand on parcourt un arbre binaire de recherche dans l'ordre infixe (sous-arbre gauche, puis le nœud, puis sous-arbre droit), dans quel ordre se présentent les valeurs des nœuds visités ? On suppose toutes les valeurs distinctes.

  1. ADans l'ordre croissant (la plus petite d'abord)
  2. BDans l'ordre où elles ont été insérées
  3. CPar proximité avec la racine (les moins profondes d'abord)
Afficher la réponse et l'explication

Réponse : A. Dans l'ordre croissant (la plus petite d'abord)

Dans un arbre binaire de recherche, pour chaque nœud, toutes les valeurs du sous-arbre gauche sont plus petites que celle du nœud et toutes celles du sous-arbre droit sont plus grandes. Visiter le sous-arbre gauche, le nœud puis le sous-arbre droit parcourt donc les valeurs de la plus petite à la plus grande : le résultat est dans l'ordre croissant. Visiter les nœuds par proximité avec la racine est un parcours en largeur (parcours par niveaux), qui avance niveau par niveau, de gauche à droite. L'ordre d'insertion influe sur la forme de l'arbre, mais ne correspond à l'ordre d'aucun de ces parcours.

S'entraîner sur ce thème Retour au thème

Autres questions sur Structures de données et algorithmes

  1. On insère dans cet ordre les valeurs 50, 30, 70, 20, 40, 60, 80 dans un arbre binaire de recherche vide. Dans quel ordre les nœuds sont-ils visités quand on parcourt l'arbre dans l'ordre postfixe (sous-arbre gauche, sous-arbre droit, puis le nœud) ?
  2. On insère dans cet ordre les valeurs 1, 2, 3, …, 1000 dans un arbre binaire de recherche vide (sans aucun rééquilibrage). Lors de la recherche de 1000 dans cet arbre, combien de nœuds sont comparés, à partir de la racine, avant de le trouver ?
  3. Quelle est la raison principale pour laquelle les arbres B (y compris les arbres B+), plutôt que les arbres binaires de recherche, sont largement utilisés pour les index des bases de données et des systèmes de fichiers ?
  4. Quelle est une façon appropriée de stocker en mémoire un graphe creux, c'est-à-dire un graphe ayant peu d'arêtes par rapport à son nombre de sommets, comme un réseau routier d'environ 1 million de sommets et 3 millions d'arêtes ?
  5. Dans un graphe dont les arêtes n'ont pas de poids, on veut trouver le plus petit nombre d'arêtes entre un sommet de départ et chacun des autres sommets. Quelle association entre méthode de recherche et structure de données convient ?