アルゴリズムの授業で困るのが、「quicksortはin-placeアルゴリズムか否か」という問題です。Informalにはin-placeとされていますが、正確には「partition(分割)がin-place」なだけであって、quicksort全体は入力要素数に依存するサイズのスタック空間を再帰のために使用するので、in-placeアルゴリズムではありません。 …というのが教科書的説明なのですが、例えばソートに関しては一つ一つの要素のサイズをmとすると、quicksortの空間計算量もmについては定数オーダーとなるので*1、やはり気持ち的にin-placeと呼びたくなってしまいます。もちろん、そんなことを言い出したら、ほとんどのsorting algorithmはポインタを使うだけでin-placeになってしまうのですが、「quicksortはin-placeで、(古典的な)merge