以下のコードはPythonのquicksortです。 アルゴリズムで比較演算が何回実行されたのかを数えます。再帰関数を数えるには?
私はcount = 0
を割り当てますが、再帰のため0にリセットされます。
def QuickSort(lst):
if len(lst) > 1:
pivot_idx = len(lst) // 2
smaller_nums, larger_nums = [], []
for idx, num in enumerate(lst):
if idx != pivot_idx:
if num < lst[pivot_idx]:
smaller_nums.append(num)
else:
larger_nums.append(num)
QuickSort(smaller_nums)
QuickSort(larger_nums)
lst[:] = smaller_nums + [lst[pivot_idx]] + larger_nums
return lst
カウントはどこに割り当てられますか? –
def QuickSort(lst)の直後: –
ここに投稿したコードではどこにも表示されません... – SwiftsNamesake