Structures de données et algorithmes
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 ?
- AChaque nœud contient de nombreuses clés, ce qui garde l'arbre peu profond et réduit fortement l'intervalle à chaque nœud lu, d'où moins de lectures de blocs sur le disque ou un support équivalent
- BChaque nœud ne contient qu'une seule clé, si bien qu'il faut moins de comparaisons que dans un arbre binaire de recherche
- CL'arbre n'a pas besoin d'être réorganisé lors d'une insertion, si bien qu'il est plus simple à implémenter qu'un arbre binaire de recherche
Afficher la réponse et l'explication
Réponse : A. Chaque nœud contient de nombreuses clés, ce qui garde l'arbre peu profond et réduit fortement l'intervalle à chaque nœud lu, d'où moins de lectures de blocs sur le disque ou un support équivalent
Les disques et les SSD lisent les données par blocs de plusieurs kilooctets, même quand un seul octet est nécessaire : il importe donc de réduire le nombre de lectures. Un arbre B place des centaines de clés dans un nœud (un bloc), si bien que chaque nœud lu se ramifie en centaines de branches ; même 100 millions d'enregistrements sont atteints en 3 à 4 niveaux. Quand une insertion ou une suppression surcharge un nœud, celui-ci est scindé, et quand un nœud devient trop vide, il est fusionné, ce qui maintient toutes les feuilles à la même profondeur. Un arbre binaire de recherche de 100 millions d'enregistrements demande au moins 27 niveaux environ, et lire un bloc différent à chaque niveau est lent.
Continuer : 9 autres questions sur Structures de données et algorithmes