这应该是一个图论问题吧

给定n个点的坐标(x,y,z),且n<=50,从点1出发,怎么样才能走一条路径,访问每个点一次且仅一次,使走过的距离和最小? 现在给你一个list列表L,列表中每个元素是个三元组[x,y,z](x,y,z都是整数),表示坐标系上的一个点,列表长度不超过50. 请你输出从第一个点(即L[0])出发,走完L中每个点的最小距离(保留小数点后1位小数)。 例如: L = [[0,0,0], [1,1,0], [1,-1,0]] 则输出:3.4。我想问的是,为什么我从第一个点开始,每步都取最短那段,就是最终的最短路径?