apples
が n 個のリンゴのリストで、リンゴの「良さ」を評価する関数がapple_evaluator(apple)
あるとします。apples
「良さ」で並べ替えるにはapples.sort(key = apple_evaluator)
、 orを使用しますsorted(apples, key=apple_evaluator)
。
apple_evaluator
O(n) 回呼び出されるか (たとえば、Pythonapple_evaluator(apple)
はそれぞれの値を事前計算してから、これらの値を使用apple
してapples
並べ替えます)、または O(n log n) 回呼び出されますか (たとえば、Pythonは、並べ替えが比較を行うたびに値をapples
再計算します)?apple_evaluator