假设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) 每个appleinapples然后使用这些值进行排序apples)或 O(n log n) 次(例如 Python 计算在apple_evaluator每次排序进行比较时重新计算值)?