Leniwa ocena i złożoność czasu

Rozglądałem się dookoła stosuNon-Trivial Lazy Evaluation, co doprowadziło mnie do prezentacji Keegana McAllistera:Dlaczego warto uczyć się Haskell. Na slajdzie 8 pokazuje minimalną funkcję zdefiniowaną jako:

minimum = head . sort

i stwierdza, że ​​jego złożoność to O (n). Nie rozumiem, dlaczego mówi się, że złożoność jest liniowa, jeśli sortowanie według zastąpienia to O (nlog n). Sortowanie, o którym mowa w poście, nie może być liniowe, ponieważ nie zakłada niczego o danych, jak byłoby to wymagane w liniowych metodach sortowania, takich jak sortowanie.

Czy leniwa ocena odgrywa tu tajemniczą rolę? Jeśli tak, jakie jest tego wyjaśnienie?

questionAnswers(7)

yourAnswerToTheQuestion