def tsp(self, start):
res = []
nodes = np.array([i for i in range(self.n)])
visited = np.empty(self.n, dtype=np.bool)
visited.fill(False)
visited[start] = True
node = start
while False in visited:
tree = cKDTree(self.nodes[~visited])
nearest = tree.query(self.nodes[node], k=1)[1]
t = nodes[~visited][nearest]
res.append([node, t])
visited[t] = True
node = t
return res + [node, start]
评论列表
文章目录