Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2011, 11:02   #1
lega4
 
Регистрация: 16.05.2010
Сообщений: 6
По умолчанию Сложность и время работы сортировки Шелла

Возникла такая задача: написать сортировку Шелла, построить график времени работы от кол-ва элементов, найти ее теоретическую формулу для времени работы, и доказать, что практический результат совпал с теоретическим.

Я написал эту сортировку, используя последовательность смещений, сгенерированной по формуле Седжвика (A033622 в OEIS, но сейчас в английской Вики и в статейке Вайса глянул - там какая-то немного другая формула.. Но в своей программе я использовал эту, из Кнута или со странички OEIS).
Мысль раз - найти формулу в Кнуте. Нашел (стр. 107): 0,43N^(7/6)+18,5N. Построил, домножил на некую константу, построил отношение практических результатов к теоретическим (Если формула ассимптотически верна, то отношение будет равно единице, плюс минус небольшая погрешность). Получился довольно-таки монотонно возрастающий график, что не есть хорошо. Кликабельная картинка:

Посоветовали построить отношение к логарифмической функции (NlogN). Построил N*lnN, аналогично.
Решил поискать формулу поточнее, нашел статейку, на которую ссылается Кнут (http://comjnl.oxfordjournals.org/con.../1/88.abstract). Там формула сильно точнее
Код:
0,42663452N^(7/6)+18,49281148N-61,5728N^(5/6)+72,69723933N^(2/3)+105,37474N^(1/2)-372,755N^(1/3)+483,29055
Построил. Заметно лучше предыдущих, но, все-таки, небольшое увеличение есть.
Внимание, вопрос. Если даже формула M.A. Weiss, судя по моим графикам, капельку неточна, то какую же формулу брать в качестве теоретической?
P.S. Приведены скриншоты графиков, построенных по 25603 точкам, от нуля с шагом 150 элементов (Т.е. до 3840300 элементов включительно).
ICQ 39(один)3563, ответ на антиспам - 6

Последний раз редактировалось lega4; 11.04.2011 в 11:05.
lega4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация сортировки Шелла beginner Помощь студентам 7 24.05.2015 23:47
Написать сортировки массива- прямое включение и шелла, и сравнить какая из них работает быстрее Noiziya Помощь студентам 3 30.12.2010 01:00
Метод сортировки Шелла SVadiks Помощь студентам 2 03.11.2009 20:17
Время сортировки в Delphi 7 Александр М Помощь студентам 3 19.11.2008 22:50
измерить время сортировки Cyberbest Помощь студентам 1 01.05.2008 19:30