|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergiy Kanilo 2:5020/400 14 Apr 2002 22:00:34 To : Sergey Andrianov Subject : Re: Поиск -------------------------------------------------------------------------------- "Sergey Andrianov" <Sergey.Andrianov@p400.f1507.n5020.z2.fidonet.org> wrote in message news:1018561202@p400.f1507.n5020.z2.ftn... > >> И это оптимальное решение... > > SK> Если в последовательности встречаются большие группы одинаковых > SK> элементов, то после нахождения пары одинаковых элементов можно > SK> начинать прыгать через элементы с увеличивающимся шагом 2,4,8, и т.д, > SK> и если повторяющихся элементов много - то этим можно выиграть > SK> несколько сравнений. > SK> Так напимер, в коайнем случае, если все элементы одинаковы, число > SK> сравнений пропорционально lnN. > > В таком случае еще одно "улучшение": первый элемент надо сразу сравнивать с > последним, тогда "в крайнем случае" число сравнений будет =1. :) Если вероятность такой ситуации велика, то почему бы и нет. В данном случае я везде ставался писать "если", и я выбирал бы подход в зависимости от того какие именно данные предположительно имеются в массиве (часто какая-то информация об этои имеется) и от того насколько часто юудет использоваться программа и насколько критичен по времени этот поиск, и от того .... сколько мне хочется времени потратить на выбор алгоритма для такой пустяковины. В действительности, мое письмо было только реакцей на фразу "И это оптимальное решение..." Cheers, Serge --- ifmail v.2.15dev5 * Origin: Giganews.Com - Premium News Outsourcing (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3380880b920a1.html, оценка из 5, голосов 10
|