假設是一個n個蘋果的列表,我有一個功能apple_evaluator(apple)
評估一個蘋果的'善良'。按'善良'分類我使用apples.sort(key = apple_evaluator)
或sorted(apples, key=apple_evaluator)
。Python的sort()/ sorted()函數是否調用其可選的'key'參數O(n)次或O(n log n)次?
將apple_evaluator
得到所謂O(n)的時間(如Python的預先計算apple_evaluator(apple)
每個apple
在然後使用這些值排序)或爲O(n log n)的時間(如Python的計算每個時間重新計算apple_evaluator
值排序做一個比較)?
不能'計數'只是一個變數? – thefourtheye
@thefourtheye,是的,只需要在'_sort_key'函數中加入'全局計數'以允許它在那裏被反彈 –
@gnibbler'count'是這種情況下的一個列表。這有點矯枉過正,對吧?這可能只是一個全局變量'count'。 – thefourtheye