Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка 
:(
    Опции темы
SonClan
Дата 10.11.2007, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.6.2007

Репутация: нет
Всего: нет



Подскажите пожалуйсто формулу для расчета
Количества сравнений(сортировки Шелла)
И для подсчета количества перестановок (Шейкерной сортировки)
PM MAIL   Вверх
kemiisto
Дата 10.11.2007, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Для метод Шелла число операций сравнения:  O(n*log(n)^2).
Для шейкерной сортировки: O(n^2).


--------------------
PM MAIL WWW GTalk Jabber   Вверх
esperant0
Дата 10.11.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



shel sort 
The original implementation performs Θ(n2) comparisons and exchanges in the worst case. A minor change given in V. Pratt's book[3] improved the bound to O(n log2 n).

Добавлено через 1 минуту и 38 секунд
Цитата(kemiisto @ 10.11.2007,  18:42)
Для метод Шелла число операций сравнения:  O(n*log(n)^2).
 

HET


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
kemiisto
Дата 10.11.2007, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Это всё верно! Но там же: 

http://en.wikipedia.org/wiki/Sorting_algor...ting_algorithms

Как можно видеть, для Shell sort все же O(n*log(n)^2).
А вот для Cocktail sort - O(n²).

«Шейкер»-сортировка - разновидность "пузырьковой" сортировки, для которой вычислительная сложность равна O(n²).
А вот для сортировки Методом Шелла вычислительная сложность зависит от его единственной характеристики - приращения (d) - расстояния между сортируемыми элементами, в зависимости от прохода. Выявлен удивительный факт: большая экономия времени происходит тогда, когда величины d на разных проходах не кратны друг другу! До сих пор не установлено, какая последовательность является оптимальной. 

http://en.wikipedia.org/wiki/Shell_sort
Depending on the choice of gap sequence, Shellsort has a proven worst-case running time of O(n2) (using Shell's increments that start with 1/2 the array size and divide by 2 each time), O(n3 / 2) (using Hibbard's increments of 2k − 1), O(n4 / 3) (using Sedgewick's increments of 9(4i) − 9(2i) + 1, or 4i + 1 + 3(2i) + 1), or O(nlog2n), and possibly unproven better running times. 

Можно почитать еще здесь: http://ishodniki.ru/base/alg/shell_sort.zip





--------------------
PM MAIL WWW GTalk Jabber   Вверх
esperant0
Дата 10.11.2007, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Еще раз, класический алгоритм Шелла работает за квадратичное время.


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
SonClan
Дата 11.11.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 7.6.2007

Репутация: нет
Всего: нет



Цитата(kemiisto @ 10.11.2007,  18:42)
Для метод Шелла число операций сравнения:  O(n*log(n)^2).
Для шейкерной сортировки: O(n^2).

Что такое O
PM MAIL   Вверх
maxim1000
Дата 11.11.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(SonClan @  11.11.2007,  16:42 Найти цитируемый пост)
Что такое O

там буквы O - ссылки на описание этой нотации smile


--------------------
qqq
PM WWW   Вверх
esperant0
Дата 11.11.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(SonClan @ 11.11.2007,  16:42)
Цитата(kemiisto @ 10.11.2007,  18:42)
Для метод Шелла число операций сравнения:  O(n*log(n)^2).
Для шейкерной сортировки: O(n^2).

Что такое O

Чтобы вы не путались обратите внимания фразу 

Для метод Шелла число операций сравнения:  O(n*log(n)^2).


Читать как

Для метод Шелла число операций сравнения принадлежит  O(n*log(n)^2).



--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
endor
Дата 18.11.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Добрый день. Извиняюсь, если вопрос не по теме.
Подскажите, что есть сортировка расстановкой?
Смотрел несколько сайтов с алгоритмами - ни слова не нашёл.
PM MAIL   Вверх
primax
Дата 18.11.2007, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 29.12.2006
Где: НТУУ-КПИ.Киев

Репутация: нет
Всего: нет



Уточни у препода. 
Такой сортировки как таковой нету, разве что чьето колесо.  smile 
PM WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.