Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Новости ИТ Программы Книги Games   Обои   Экспорт RSS E-Books
 
Поиск по сайту

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
Windows Movie Maker 2.6
MP3 To Ringtone Gold v3.02
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Программирование -> Delphi / Pascal -> Структуры и базы данных, методы сортировки


Метод вставки

Метод основывается на следующем: считается, что перед рассмотрением записи R[j] предыдущие записи R[1],R[2],...,R[j-1] уже упорядочены, и R[j] вставляется в соответствующее место. Сортировка таблицы начинается со второй записи. Ее ключ сравнивается с ключом первой записи, и, если упорядоченность
нарушена, то записи R[1] и R[2] переставляются. Затем ключ записи R[3] сравнивается с ключами записей R[2] и R[1]. На j - м шаге К[j] сравнивается по очереди сK[j-1],K[j-2],...(K[1]<=K[2]<=...<=K[j-1]) до тех пор,     пока выполняется условие K[j]<K[i] (i=j-1,j-2,...) или достигнут левый конец упорядоченной подтаблицы (i=1, K[j]<K[1]). Выполнение условия K[j]>=K[i] означает, что запись R[j]    нужно вставить между R[i] и R[i+1]. Тогда записи R[i+1], R[i+2],...,R[j-1] сдвигаются на одну позицию, и запись R[j] помещается в позицию i+1.
Операции сравнения и перемещения записей удобно совмещать,перемежая их друг с другом (этот способ называется "просеиванием").
Ниже показано выполнение j-го шага сортировки ( с "просеиванием" ).

5    8     10    14      6     2     11     ¦ j=5, i=4, 6 < 14
                         <-~~                    ¦
5    8     10    6       14    2     11     ¦ i=3, 6 < 10
                <-~~                             ¦
5    8     6     10      14    2     11     ¦ i=2, 6 < 8
         <-~~                                    ¦
5    6     8    10       14    2     11     ¦ i=1, 6 > 5

Количество операций сравнения для метода вставки определяется по формуле

                n * (n - 1)
        C = ------------
                     4
При достаточно большом числе элементов в сортируемой таблице можно принять C = n**2/4 .   Максимальное количество перестановок при использовании этого метода примерно равно n**2/4
Метод вставки обычно используется тогда, когда записи вносятся    в упорядоченную таблицу. Новая запись должна быть вставлена в таблицу таким образом, чтобы существующая упорядоченность не нарушалась.


Модифицированный метод вставки ( бинарное включение )

Метод прямого включения можно улучшить,если вставлять очередной элемент таблицы в упорядоченную подтаблицу с помощью метода бинарного (дихотомического,двоичного,логарифмического) поиска.
j-й шаг сортировки:
              
5    6     8    10      14    18    9      2     ¦ i = 6/2 = 3; 9 > 8
~~~~~~      ~~~~~~~~~   ~~            ¦
отбрасывается рассматривается    ¦
                --¬     ¦
.    .     .       10      14    18   9       2     ¦ i = (4+6)/2 = 5;
                   ~~       ~~~~~                  ¦ 9 < 14
                    рассм. отбрас.               ¦
                                                          ¦
.    .     .     9        10    14   18      2     ¦ i = 4; 9 < 10

Содержание



 
Популярные книги

SQL для "чайников", 5-е издание

Подробнее

Общая информатика. Универсальный курс

Подробнее

Photoshop CS2 для пользователя

Подробнее


 
Новости ИТ
10.01.2009  Skype появился на Android и готовится к покорению iPhone
10.01.2009  Студенты-хакеры улучшат безопасность бостонского метро
09.01.2009  Exeda -- корпоративный цифровой ассистент с Android Linux
09.01.2009  Правительство Вьетнама массово переходит на Open Source
09.01.2009  Windows 7 build 7000
09.01.2009  Silicon Power представила скоростную SDHC
09.01.2009  CES 2009: RealView 360 3D Desktop Scanner - настольный 3D-сканер, один из первых в мире
09.01.2009  W90 - очень быстрый мультимедийный ноутбук ASUS «Ultimate-уровня»
09.01.2009  CES 2009: SanDisk представила семейство G3 - самых быстрых SSD-накопителей на флэш-памяти MLC
09.01.2009  ZOTAC GeForce GTX 285 и GTX 285 AMP! Edition - 3D-ускорители для геймеров на новом GPU NVIDIA
09.01.2009  Net Applications: в декабре доли Firefox и Chrome росли за счет IE
09.01.2009  Imation говорит о «новом классе» SSD и первом в отрасли полном наборе для модернизации на основе SSD
09.01.2009  Маршрутизатор D-Link Xtreme N DIR-685 может играть роль NAS, сервера печати... и цифровой фоторамки
09.01.2009  Очень тонкая фотокамера Pentax Optio P70 имеет разрешение 12 Мп
09.01.2009  pureSilicon 1TB Nitro - первый в мире 2,5-дюймовый SSD объемом 1 ТБ
09.01.2009  Дебютировали мобильные GPU ATI Mobility Radeon HD 4000
09.01.2009  NVIDIA GeForce GTX 285 и GTX 295 представлены официально
09.01.2009  Scythe выпустила процессорный кулер Mugen 2
09.01.2009  Optio E70 - новая компактная камера Pentax начального уровня
09.01.2009  Новый iPhone получит четырехъядерный процессор?
 
Полезно

 
Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100