sla8a писал(а):
Посколько помню по скорости выполнения рейтинг такой:Забыли самый главный фактор - тип алгоритма. Или, если хотите - его асимптотику.
Например, все помнят про сортировку. Асимптотика рекурсивной сортировки O(N*ln(N))
А асимптотика пузырькового метода O(N^2).
И, при достаточно большом N, рекурсивная сортировка, сделанная "на рассыпухе" как схема в HiAsm -- обойдет по скорости пузырьковую на IC.
И даже - сильно обойдет.
Так и у нас, с "поиском в словаре". Полный перебор - это одно (O(N)), а деление пополам - это другое (O(ln(N))).
Хотя, для второго случая, и необходима предварительная сортировка словаря.
Tad писал(а):
Схема от Galkov в 4-5 раз быстрее.Как бы сравнивать быстродействие с разными асимптотиками - не есть правильно.
Результат очень сильно зависит от входных данных.
При малых объемах словаря - вполне может оказаться и наоборот.
А при больших:
Поиск делением пополам
Поиск полным перебором
А теперь вспомним, что эксперимент - "это вам не баб щупать"... Измерим время "холостого хода": подадим событие мимо IC, скажем вместо onNo
И получится, что собственно поиск - лишь незначительная часть измеренного нами времени. Генерируем слово, а потом запоминаем его мы значительно дольше.
Так что это даже не в 100 раз, а примерно в 500-1000 раз быстрее...
Убедил, или нет
Вместо того, чтобы статистику мата обсуждать, подумали бы, в какой элемент присобачить аналогичный метод.
Вещь-то, простая, как сибирский валенок. А у нас ее нет.
Может в ArraySort ......