假设apples
是一个包含 n 个苹果的列表,我有一个函数apple_evaluator(apple)
可以评估一个苹果的“好坏”。要按“善良”排序apples
,我使用apples.sort(key = apple_evaluator)
or sorted(apples, key=apple_evaluator)
。
将apple_evaluator
被调用 O(n) 次(例如 Python 预先计算apple_evaluator(apple)
每个apple
inapples
然后使用这些值进行排序apples
)或 O(n log n) 次(例如 Python 计算在apple_evaluator
每次排序进行比较时重新计算值)?