Structures de données et algorithmes
Un tas binaire est stocké dans un tableau a[0], a[1], a[2], … avec la racine en a[0], en remplissant chaque niveau de gauche à droite à partir du haut. Quels sont les enfants et le parent de a[4] ?
- AEnfants a[9] et a[10] ; parent a[1]
- BEnfants a[8] et a[9] ; parent a[2]
- CEnfants a[9] et a[10] ; parent a[2]
Afficher la réponse et l'explication
Réponse : A. Enfants a[9] et a[10] ; parent a[1]
Avec la racine en a[0], les enfants de a[i] sont a[2i+1] et a[2i+2], et son parent est a[(i−1) ÷ 2, arrondi à l'entier inférieur]. Pour i = 4, les enfants sont a[9] et a[10], et le parent est a[(4−1) ÷ 2] = a[1]. Avec la racine en a[1], les enfants sont a[2i] et a[2i+1] et le parent est a[i ÷ 2] : il est donc important de vérifier quelle convention est utilisée. Comme un tas est un arbre binaire complet, il peut être stocké dans un tableau sans pointeurs, et les parents et les enfants se trouvent par simple calcul d'indices.
Continuer : 9 autres questions sur Structures de données et algorithmes