- 主题:爆栈搜py快排居然这玩意儿排第二
def qsort(arr):
if len(arr) <= 1:
return arr
else:
return qsort([x for x in arr[1:] if x < arr[0]])
+ [arr[0]]
+ qsort([x for x in arr[1:] if x >= arr[0]])
真是欺负学python的不知道底下是怎么回事么?
--
FROM 213.95.148.*
erlang作者写的那个本书里教qsort也是一样的代码。
主要是教教思想。
效率另外再说。
【 在 moudy (moudy) 的大作中提到: 】
: def qsort(arr):
: if len(arr) <= 1:
: return arr
: ...................
--
FROM 223.104.97.*
别觉得不好
你可以自己写一个,极大概率不如这个快。
【 在 moudy 的大作中提到: 】
: def qsort(arr):
: if len(arr) <= 1:
: return arr
: ...................
--
FROM 73.93.166.*
这货在windows下默认堆栈来个一万元素的list直接爆栈了,基本没法测速。
原理上这样子到还是NlogN,就是常数系数大了几倍
反正速度跟sorted比都是浮云
【 在 adu 的大作中提到: 】
: 别觉得不好
: 你可以自己写一个,极大概率不如这个快。
:
--
FROM 188.192.115.*
写一个试试呗
看看你能不能写个比这个快的
【 在 moudy 的大作中提到: 】
: 这货在windows下默认堆栈来个一万元素的list直接爆栈了,基本没法测速。
: 原理上这样子到还是NlogN,就是常数系数大了几倍
: 反正速度跟sorted比都是浮云
: ...................
--
FROM 73.93.166.*
那一段是演示erlang操作的吧,再加上erlang的不可变的list就只能那么拼接
【 在 lokta 的大作中提到: 】
: erlang作者写的那个本书里教qsort也是一样的代码。
: 主要是教教思想。
: 效率另外再说。
: ....................
- 来自「最水木 for iPhone12,8」
--
FROM 104.133.8.*
链表还可以类似这样搞,即使不考虑退化的问题,python 的 list comprehension 也会造成巨大的空间浪费,和原本快排不一样了
【 在 adu 的大作中提到: 】
: 别觉得不好
: 你可以自己写一个,极大概率不如这个快。
:
: ...................
--
FROM 114.249.196.*