Moderator: Praesidium
In die nodes zitten inderdaad indexrecords, maar ze beginnen daar ineens over "blokken" omdat er in een node 2 indexrecords kunnen zitten denk ik. Dus ze organiseren het index bestand in blokken met maximum 2 indexrecords?zarry wrote:zitten er in die nodes dan zo indexrecords (of blokken?), en zo data pointer is zo naar een blok waar da eigenlek inzit en childpointer naar een blok waar volgend indexrecord inzit ofwa?
Da snap'k ook nie echt...cursus wrote:Het beste resultaat wordt bekomen als:
m de grootst mogelijk oneven integer is zodat m kinderpointers en m-1 indexrecords <sleutel, datapointer> in één enkel blok van het indexbestand passen.
Wel, de operatie met de meeste kost bij externe tabels is net I/O operaties. Het inlezen en wegschrijven van blokken vereist veel meer tijd dan het verwerken van de gegevens uit de blokken in het interne geheugen. Dus deze operaties moet je zo veel mogelijk beperken als je efficiënt wil werken.Wat is het ideale maximum aantal kinderen (m) van de knopen in de zoekboom?
Het beste resultaat wordt bekomen als:
m de grootst mogelijk oneven integer is zodat m kinderpointers en m-1 indexrecords <sleutel, datapointer> in één enkel blok van het indexbestand passen.
nja, ik vermoed dat te maken heeft met de splitfunctie. Bij een 2-3 tree (m is 3) moet een node gesplitst worden als er een node 3 items bevat. Dan moet het 'middelste item' naar de parent gebracht worden en die 2 andere items worden in een aparte node gestopt. Tis dus handig dat m = 3, want dan kan je altijd het middelste item van een overvolle node bepalen. In een overvolle node zitten er 3 items, dus er moet wel een 'middelste' zijn. Wat zou het zijn als een overvolle node 4 items heeft, m = 4? welk item in die node is dan het middelste?Als m oneven is, zijn de algoritmen eenvoudiger.
Users browsing this forum: No registered users and 7 guests