Именно так в Python и Java. Сравнение — это вызов пользовательского кода (даже для встроенных типов несколько виртуальных вызовов), а перестановка — пара машинных инструкций.
Количество сравнений и перестановок зависит не только от размера, но и от распределения. Для совершенно случайного получим одно, но timsort выгоден тем, что очень хорошо ведёт себя на неслучайных данных. И тут уже зависит от фантазии тестировщика, какие неслучайные последовательности он посчитает близкими к реальности.
no subject
Date: 2012-02-09 01:33 pm (UTC)Количество сравнений и перестановок зависит не только от размера, но и от распределения. Для совершенно случайного получим одно, но timsort выгоден тем, что очень хорошо ведёт себя на неслучайных данных. И тут уже зависит от фантазии тестировщика, какие неслучайные последовательности он посчитает близкими к реальности.