単純なクイックソートの実装であるべきものがありますが、再帰の深さを超えたエラーが返され、30 未満の要素のリストでテストしています。さらに、私の実装は数日前に 10,000 のリストに取り組んでいました。私が変更したのは、それをクラスからグローバル関数に移動したことだけでした。誰がこれを引き起こしているのか分かりますか?
def quickSort(m, left, right):
if len(m[left:right]) <= 1:
return m
pivot = m[left]
i = left + 1
j = left + 1
for j in range(j, right):
if m[j] <= pivot:
m[j], m[i] = m[i], m[j]
i += 1
m[left], m[i-1] = m[i-1], m[left]
m = quickSort(m, left, i)
m = quickSort(m, i, right)
return m