R-arbre
cet article est au sujet de la structure de données. Pour le type d'espace métrique, voir le vrai arbre .
les R-arbres sont les structures de données d'arbre qui sont semblables aux arbres binaires mais sont employés pour les méthodes d'accès spatiales c., pour l'information multidimensionnelle d'indexation ; par exemple, (X, Y) coordonnées des données géographiques. Une utilisation réelle commune pour un R-arbre pourrait être : " ; Trouver tous les musées au-dessous de 2 milles de mon " courant de l'endroit ;.
La structure de données dédouble l'espace avec hiérarchiquement niché, et probablement recouvrant, les rectangles de bondissement (MBR de minimum de , autrement connu en tant que boîtes de bondissement, c. " ; rectangle" ; , ce qui le " ; R" ; dans le R-arbre représente).
Chaque noeud d'un R-arbre a un nombre variable d'entrées (jusqu'à un certain maximum prédéfini). Chaque entrée dans un noeud de feuille non- stocke deux morceaux de données : une manière d'identifier un noeud d'enfant , et la boîte de bondissement de toutes les entrées dans ce noeud d'enfant.
Les algorithmes d'insertion et de suppression utilisent les boîtes de bondissement des noeuds pour assurer ce " ; nearby" ; des éléments sont placés dans le même noeud de feuille (en particulier, un nouvel élément entrera dans le noeud de feuille qui exige le moindre agrandissement dans sa boîte de bondissement). Chaque entrée dans un noeud de feuille stocke deux informations ; une manière d'identifier l'élément d'informations réel (qui, alternativement, peut être placé directement dans le noeud), et la boîte de bondissement de l'élément d'informations.
De même, les algorithmes de recherche (par exemple ; intersection , retenue ,) utilisation la plus proche les boîtes de bondissement de décider si rechercher à l'intérieur d'un noeud d'enfant. De cette façon, la plupart des noeuds dans l'arbre ne sont jamais " ; touched" ; pendant une recherche. Comme des arbres binaires, ceci rend des R-arbres appropriés aux bases de données où des noeuds peuvent être paginés à la mémoire une fois nécessaires.
Différents algorithmes peuvent être employés au " ; split" ; noeuds quand ils deviennent trop pleins, ayant pour résultat le " ; Quadratic" ; et " ; Linear" ; sous-types de R-arbre.
les R-arbres ne garantissent pas historiquement l'exécution des cas les pires de bon , mais généralement comporté bien avec des données réelles. Cependant, un nouvel algorithme a été édité en 2004 qui définit le R-Arbre prioritaire, qui prétend être aussi efficace que les méthodes actuellement les plus efficaces et est en même temps optimal des cas les pires.
Variantes
Arbre de R* de Arbre de r+ de
R-arbre de Hilbert de
Algorithme
Recherche
L'entrée est un rectangle de recherche (boîte de question). La recherche est tout à fait semblable à la recherche dans un arbre binaire . La recherche commence à partir du noeud de racine de l'arbre. Chaque noeud interne contient un ensemble de rectangles et les indicateurs au noeud d'enfant correspondant et à chaque noeud de feuille contient les rectangles des objets spatiaux (l'indicateur à un certain objet spatial peut être là). Pour chaque rectangle dans un noeud, il doit décider s'il recouvre le rectangle de recherche ou pas. Si oui, le noeud d'enfant correspondant doit être recherché également. La recherche est faite comme ceci d'une façon récursive jusqu'à ce que tous les noeuds de recouvrement aient été traversés. Quand un noeud de feuille est atteint, des boîtes de bondissement (rectangles) sont examinées contre le rectangle de recherche et leurs objets (s'il y en a) sont cherchées pour examiner dans le résultat réglé si elles intersectent le rectangle de recherche.
Insertion
Pour insérer un objet, l'arbre est traversé du noeud de racine. Tous les rectangles dans le noeud interne courant sont examinés. La contrainte de moindre assurance est utilisée pour insérer un objet, c., la boîte qui a besoin de moindre agrandissement pour enfermer le nouvel objet est choisi. Dans le cas il y a plus d'un rectangle répond au premier critère, celui avec le plus petit secteur est choisi. L'insertion continuent périodiquement dans le noeud choisi. Une fois qu'un noeud de feuille est atteint, une insertion franche est faite si le noeud de feuille n'est pas plein. Le noeud de feuille a besoin se dédoubler s'il est plein, avant que l'insertion soit faite. On a proposé quelques algorithmes de division pour la bonne exécution de R-arbre. ect-moignon
Volume-chargement
ect-moignon
Voir également
rectangle de bondissement de minimum
Index spatial
Essentiel
.
| Random links: | Nasiriyah | Femme invisible | Sagaie | L'université des femmes de Shirayuri | Parti communiste révolutionnaire (Pérou) | R-árbol |