Re: Алгоритм
- From
- Sergey Andrianov (2:5020/1507.400)
- To
- Alexander Pashchenko
- Date
- 2002-10-09T19:27:40Z
- Area
- RU.ALGORITHMS
Здравствуй, Alexander!
Однажды 09-Oct-02 в 00:01 Alexander Pashchenko (2:5062/17.212)
написал desyatnik@dax.ru по поводу
-=- Алгоритм -=-
AD>> Вопреки предлагаемому массив сортировать НЕ надо.
AD>> Почему? При неотсортированном массиве алгоритм очевиден -
AD>> перебор с ограничением (в худшем случае будем сравнивать
AD>> каждый элемент с каждым). Сложность алгоритма О((m*n)^2).
AP> Kстати, я так и не разобрался, что сие ^^^^^^^^^^^^^^^^^^^^ значит. Может
AP> кто-нить объяснить доступными для понимания (10-11 класс) словами.
Если количество операций или время (что то же самое) при выполнении алгоритма
при больших n ведет себя как C*F(n), где С - константа , то говорят, что
сложность алгоритма O(F(n)). При этом принято, что F(n) не должна содержать
слагаемых. Например A*x^2 + B*x + C имеет сложность O(x^2), т.к. при больших n
линейный член и константа становятся исчезающе малы по сравнению с квадратичным
членом.
AD>> Теперь рассмотрим сортировку - неважно какой алгоритм.
AP> [skip]
AD>> 4 9 10 11
AP> Скорость абсолютно не важна. Главное, чтобы было понятно и изящно.
Обыно считается, что "изящно" должно включать в себя "быстро".
AP> В голову лезут только вложенные циклы с исключением пройденных элементов,
AP> но что-то мне подсказывает, что там бага, к тому же это далеко не изящно.
AD>> Дальше, думаю, рассматривать не стоит... :)
AP> Да и вопрос-то был теоритический.
AD>> Сортировка (и тем более хэши) имеют смысл при
AD>> структурах и задачах баз данных, но никак не
AD>> числовых матриц (тем более, как я подозреваю,
AD>> повторный поиск производиться не будет :)
AP> ЗЫ а вдобавок доступно объяснить, что такое хэш?
Один из способов увеличить скорость за счет расхода дополнительной памяти.
Ну, тебе это не интересно... :)
До свидания, в 20:20 MSK
Sergey
---
* Origin: Sergiev Posad (2:5020/1507.400)