登录
记住
注册
在线问答系统
问题
未回答
标签
分类
用户
提问
提问
如何使用更优的算法提高排序速度
+6
投票
最新提问
2月 19, 2023
分类:
算法优化
|
用户:
AnShuo
8
5
3
(
1.4k
分)
重新分类
3月 1, 2023
用户:
liang.z
我采用冒泡法对一个数组进行排序,但我发现如果数组初始为反序时,其时间复杂度会很高,能否提供一种方法,使得我的排序算法在计算时间上变得稳定。
def bubble_sort(lst):
n = len(lst)
for i in range(n):
for j in range(1, n - i):
if lst[j - 1] > lst[j]:
lst[j - 1], lst[j] = lst[j], lst[j - 1]
return lst
optimizing
请
登录
或者
注册
后回答这个问题。
1
个回答
+2
投票
最新回答
2月 19, 2023
用户:
J
采纳于
2月 28, 2023
用户:
liang.z
已采纳
直接进行递归会使得时间复杂度大大增加,故而我们从两边同时递归
def quick_sort(li):
if len(li) <= 1:
return li
else:
left = []
right = []
mid = li[0]
for i in range(1,len(li)):
if mid > li[i]:
left.append(li[i])
else:
right.append(li[i])
return quick_sort(left) + [mid] +quick_sort(right)
print(li1)
print(quick_sort(li1))
请
登录
或者
注册
后再添加评论。
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...