Python 是否考虑采用这种快速排序方法;“到位”吗;?
这是一个快速排序的实现,它比我发现的其他实现更容易理解。尽管如此,这个实现似乎并不像快速排序那样“到位”。我认为它没有“就位”,因为您正在返回一个新数组 我认为这项实施没有“到位”对吗Python 是否考虑采用这种快速排序方法;“到位”吗;?,python,algorithm,quicksort,in-place,Python,Algorithm,Quicksort,In Place,这是一个快速排序的实现,它比我发现的其他实现更容易理解。尽管如此,这个实现似乎并不像快速排序那样“到位”。我认为它没有“就位”,因为您正在返回一个新数组 我认为这项实施没有“到位”对吗 def快速排序(顺序): 长度=长度(序列) 如果长度轴: 项目\附加(项目) 其他: 项目\较低。追加(项目) 返回快速排序(项目较低)+[pivot]+快速排序(项目较大) 这是我发现的另一个实现,我认为它是快速排序的“就地”版本。-> 如果有人能证实这一点。我将非常感激。谢谢 它肯定是不到位的您正在生成新
def快速排序(顺序):
长度=长度(序列)
如果长度轴:
项目\附加(项目)
其他:
项目\较低。追加(项目)
返回快速排序(项目较低)+[pivot]+快速排序(项目较大)
这是我发现的另一个实现,我认为它是快速排序的“就地”版本。->
如果有人能证实这一点。我将非常感激。谢谢 它肯定是不到位的您正在生成新的数组(
项_lower
等)不,它不是快速排序算法的“到位”实现
这种实现更容易掌握,但效率很低。请记住,对于您尝试排序的数组,它会创建一个相同大小的新数组,然后,对于其中的一半,它会创建另一个数组,然后对于另一半或另一个数组,依此类推。。。对于大型数组,您将浪费大量内存。链接中的实现是否“到位”@crescendo01是的,是的。不是的,尽管它确实修改了您传入的列表。它还将扼杀运行时。@juanpa.arrivillaga您认为您可以在纯python中实现快速排序吗?如果是这样的话,我有一个你可能会感兴趣的几乎是新的桥…我相信你可以实现一个算法高效的快速排序。YesA就地排序提示-递归参数应该索引到列表中(告诉函数需要操作列表中的位置范围),并且您应该只修改列表,而不构建新列表。