Ok ich glaube ich habe die Lösung, aber ich bin mir nicht ganz sicher ^^
Ich habe jetzt unter die Überprüfung, ob size==1 ist noch eine weiter Überprüfung reingetan:
[code=Java]
if(sortiertePunkte.size()==2) {
TreeNode links = new TreeNode();
links.punkt=sortiertePunkte.getFirst();
TreeNode rechts = new TreeNode();
rechts.punkt=sortiertePunkte.getLast();
TreeNode line = new TreeNode();
line_cnt++;
line.line_name="L"+line_cnt;
line.left=links;
line.right=rechts;
return line;
}
[/code]
Ich bin mir aber nicht ganz sicher, ob dieser Code das Problem wirklich fixt...
€:
Ok hab jetzt den ganzen Plan umgestellt, ich verwende jetzt einfach einen homogenen k-d Baum (also jeder Knoten speichert einen Punkt durch welchen auch der Schnitt gemacht wird).