G
Guest
Gast
hey leute, hab einen kleinne algorithus geschrieben, der zu einem knoten mit index i den index des elternknotens zurückliefert für einen d-Baum (also für d=3 wäre es ein binärerbaum usw)
die knoten sind dabei einfach von links nach rechts durchindiert, d.h. beim binären baum zB hat die wurzel hat den index 1 der linke tochterknoten den index 2, der rechte tochterknoten den index 3 usw.
die knoten sind dabei einfach von links nach rechts durchindiert, d.h. beim binären baum zB hat die wurzel hat den index 1 der linke tochterknoten den index 2, der rechte tochterknoten den index 3 usw.
Code:
public int getParent(float i){
if (i%d==0) return (int)(i/d);
else if(i%d==1) return (int)(i/d-1d/d);
for(int j=2;j<=d-2;j++){
if(i%d==j) return (int)((i/d)+(d-(i%d))/d);
}
return -1; //dürfte nie passieren
}
Code:
der code ist etwas schwer zu erklären, ich hoffe ihr versteht ihn +g+
gruß