Сравнение алгоритм в сортировки

Автор работы: Пользователь скрыл имя, 28 Января 2014 в 06:08, контрольная работа

Краткое описание

Когда данные сортируются не в оперативной памяти, а на жестком диске, особенно если ключ связан с большим объемом дополнительной информации, то количество перемещений элементов существенно влияет на время работы. Этот алгоритм уменьшает количество таких перемещений, действуя следующим образом: за один проход из всех элементов выбирается минимальный и максимальный. Потом минимальный элемент помещается в начало массива, а максимальный, соответственно, в конец. Далее алгоритм выполняется для остальных данных. Таким образом, за каждый проход два элемента помещаются на свои места, а значит, понадобится N/2 проходов, где N — количество элементов.

Прикрепленные файлы: 1 файл

Контрольная работа.docx

— 89.21 Кб (Скачать документ)

{Вызов процедуры предотвращения  образования коротких и длинных подциклов}

      ProverkaIskl;

{Определение множества  G(i,1)}

      Etap(GIndexKon[i,1]);

      if GIndexKon[i-1,1]<GIndexKon[i-1,2] then

        GIndexKon[i,1]:=GIndexKon[i,1]+GIndexKon[i-1,1]

      else GIndexKon[i,1]:=GIndexKon[i,1]+GIndexKon[i-1,2];

      Label6.Caption:='Длина пути!:  '+IntToStr(GIndexKon[i,1]);

{Определение множества  конкурирующих пар и выбор  перспективной пары}

      Konkurir(RGor,MGor);

      if ParKonkur[RGor,MGor]>=0 then

      begin

        Puti[i*2+1]:=RGor;

        Puti[i*2+2]:=MGor;

      end;

      if ParKonkur[RGor,MGor]<0 then Flag:=false;

      IsklStrok[RGor]:=1;

      IsklStolb[MGor]:=1;

      GorodaIJ[RGor,MGor]:=-1;

    end;

{Определение оптимального  маршрута}

  OpredilPuti;

end;

end.


Информация о работе Сравнение алгоритм в сортировки