All pastes #972026 Raw Edit

sth

public text v1 · immutable
·published 2008-04-05 03:30 UTC
rendered paste body
class kdtree:
	def __init__(self, dimension =2,index=0):
		self.dimension = dimension
		self.index = index
		self.split = None

	def addPoint(self,thePoint,theParent=None):
		"""Include another point in the kD-tree."""
		if self.split is None:
			self.split = thePoint
			self.left = kdtree(self.dimension, (self.index + 1) % self.dimension)
			self.right = kdtree(self.dimension, (self.index + 1) % self.dimension)
			return "wtf"
		elif self.split[self.index] < thePoint[self.index]:
			self.left.addPoint(thePoint, self)
		else:
			self.right.addPoint(thePoint, self)

if __name__ == "__main__":
        pointList=[(5,6), (9,7), (8,3), (7,4), (6,7), (10,6), (4,8), (3,1), (2,0), (1,9)]
	k = kdtree()
        for i in range(len(pointList)):
		thePoint=pointList[i]
		print k.addPoint(thePoint)