M-tree is a dynamic tree. Fig. 1 shows an M-tree example. An intermediate (i.e., a non-leaf) entry e in a root node (e.g., N0) or a non-leaf node (e.g., N1, N2) records the following. (i) A routing object e.RO that is a selected object in the subtree STe of e. (ii) A covering radius e.r that is the maximum distance between e.RO and the objects in STe. (iii) A parent distance e.PD that equals the distance from e to the routing object of its parent entry. Since a root entry e (e.g., e6) has no parent entry, e.PD = ∞. (iv) An identifier e.ptr that points to the root node of STe. In contrast, a leaf entry (i.e., a data object) o in a leaf node (e.g., N3, N4, N5, N6) records the following. (i) An object oj that stores the detailed information of o. (ii) An identifier oid that represents o’s identifier. (iii) A parent distance o.PD that equals the distance from o to the routing object of o’s parent entry.
![]() (a) Data distribution |
![]() (b) The M-tree |
Fig. 1 Example of M-tree