Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Метод квадратичной выборки

41K
03 ноября 2008 года
hitman628
5 / / 09.10.2008
Нужно реализовать сортировку посредством выбора (метод квадратичного выбора), это не то же самое что и простой выбор, на С++.

Впрнципе описание нашел, но незнаю, как это реализовать.

Метод квадратичной выборки

Данный метод по сравнению с сортировкой выборкой уменьшает число сравнений,но требует дополнительного объема памяти. Сортируемая таблица, состоящая из n элементов, разделяется на n групп по sqrt(n) элементов в каждой. Если n не является точным квадратом,то таблица разделяется на n' групп, где n'
есть ближайший точный квадрат, больший n. В каждой группе выбирается наименьший элемент, который пересылается во вспомогательный список. Вспомогательный список просматривается, и наименьший его элемент пересылается в зону вывода (в зоне вывода формируется отсортированный список). Далее из группы, содержащей элемент, посылаемый в зону вывода, выбирается новый наименьший элемент, который помещается во вспомогательный список. Затем другой просмотр вспомогательного списка выбырает новый наименьший элемент, который является вторым по величине во всем списке. Он пересылается в зону вывода. Элементы групп, которые уже посланы во вспомогательный список, заменяются большими фиктивными величинами.


Таким образом, при сортировке квадратичной выборкой попеременно просматриваются то вспоиогательный список, то группа, до тех пор, пока все группы не будут исчерпаны. Такое состояние наступает, когда все группы посылают во вспомогательный список фиктивные величины. Модификацией данного метода является квадратичная выборка с предварительной сортировкой. В этом методе группы сначала полностью упорядочиваются, а затем уже выполняются сравнения между группами.
Общее число сравнений для случая точного квадрата равно приблизительно 2n*sqrt(n), необходимый резерв памяти - поле длиной (n+sqrt(n)) элемент.
397
03 ноября 2008 года
SergPas
527 / / 03.02.2007
Алгоритм выборочной сортировки реализован и подробно описан в книге Максима Динмана "С++. Освой на примерах"... Скачать книгу можно, перейдя по ссылке http://rapidshare.com/files/13647906...fanata.org.rar
41K
03 ноября 2008 года
hitman628
5 / / 09.10.2008
Ссылка не правильная, и разве выборочная сортировка, это тоже самое, что я написал?
397
03 ноября 2008 года
SergPas
527 / / 03.02.2007
Вот исправленная ссылка http://rapidshare.com/files/136479067/Si_2pl_.Osvoj_na_prim_infanata.org.rar
Цитата:
Ссылка не правильная, и разве выборочная сортировка, это тоже самое, что я написал?

Я думаю, что тоже самое...

41K
03 ноября 2008 года
hitman628
5 / / 09.10.2008
Хм, ладно сейчас скачаю, проверю), но я всё же думаю, что это другое,спасибо.
41K
03 ноября 2008 года
hitman628
5 / / 09.10.2008
Всё же это обычная выборка, а мне нужна квадратичная.=(
397
03 ноября 2008 года
SergPas
527 / / 03.02.2007
Цитата:
Всё же это обычная выборка, а мне нужна квадратичная.=(


Тогда извиняюсь... Значит нужно разбираться в Вашем алгоритме...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог